好了,經過一番研究,它看起來像選擇選項CLIK不能被解僱了,由於瀏覽器incomptability(看這太問題:Event attached to Option node not being fired)
...但我們可以模擬一下,做一個變通方法, XD,你這裏有小提琴:http://jsfiddle.net/H9gg5/3
的js
$('select.click_option').click(function() {
if ($(this).data('clicks') == 1) {
// Trigger here your function:
console.log('Selected Option: ' + $(this).val());
$(this).data('clicks', 0);
} else {
console.log('first click');
$(this).data('clicks', 1);
}
});
$('select.click_option').focusout(function() {
$(this).data('clicks', 0);
});
的Html
<select class="click_option">
<option value="1"> Selected 1 </option>
<option value="2"> Selected 2 </option>
</select>
它是做什麼的?好吧,我們知道我們已經選擇了一個選項(即使是相同的選項),因爲我們在選擇上點擊兩次,因此,只需計算點擊次數,並在之前的點擊之後觸發它,觸發XD。該代碼還處理失去焦點,因爲如果您單擊選擇,它將關閉clicks = 1,您必須重置它。
我在select中添加了一個類,用於在用戶單擊所需的選擇時觸發該功能。
希望它有幫助,問候!
我不相信有'崩潰'(或同等)的事件。但我很想被證明是錯誤的。 – 2013-03-16 17:08:22
只有在值發生變化時纔會觸發更改事件,您可能必須觸發自定義事件或在選項中使用點擊事件等。 – adeneo 2013-03-16 17:09:28
@adeneo點擊選項對我來說不起作用。我使用這段代碼來測試它,但它不會觸發:$('select option')。click(function(){console.log(「CLICKED」)}); 你能舉個例子嗎? – 2013-03-16 17:25:34