有點難以解釋,所以我建立了一個jsFiddle here。jQuery/javascript不同的行爲與用戶點擊和編程方式點擊複選框
基本上,我有一些行爲,當用戶點擊一個複選框時觸發。在另一個地方,我試圖以編程方式點擊複選框,我需要看到完全相同的行爲。它不起作用,似乎與點擊順序和確定檢查屬性有關。
如何在不訴諸黑客的情況下獲得我正在尋找的行爲?
有點難以解釋,所以我建立了一個jsFiddle here。jQuery/javascript不同的行爲與用戶點擊和編程方式點擊複選框
基本上,我有一些行爲,當用戶點擊一個複選框時觸發。在另一個地方,我試圖以編程方式點擊複選框,我需要看到完全相同的行爲。它不起作用,似乎與點擊順序和確定檢查屬性有關。
如何在不訴諸黑客的情況下獲得我正在尋找的行爲?
我傾向於在這裏使用change
處理程序,而不是(因爲jQuery的規範了行爲,它不需要blur
),然後火像這樣的事件:
$('span').click(function() { $('.test').click().change(); });
然後,你明確有關訂單......並且您沒有本機操作與事件處理程序訂單you can test it out here的問題。
你並不需要把JavaScript的這種行爲...只是使用HTML語法:
<input type="checkbox" id="myid" /> <label for="myid">My Label</label>
如果你想添加JavaScript listners,您可以添加修改或點擊輸入字段。
:)
還是應該做到這一點使用jQuery:
$('span').click(function() { $('.test').trigger('click'); });
這適用於這個例子,但不是一般的問題,這是編程方式點擊複選框:) – 2010-12-13 12:09:52
這一行做伎倆$('span')。click(function(){$('。test' ).trigger('click');}); – 2010-12-13 13:40:45
我有同樣的問題,並固定它調用JavaScript點擊功能,而不是jQuery的一個是這樣的:
$('.test')[0].click();
輝煌!謝謝:) – fearofawhackplanet 2010-12-13 11:39:37