2009-05-22 127 views
1

我是jQuery的新手,無法讓選擇器使用元素的id工作。下面的代碼工作:jQuery如何處理點擊事件?

$(function() { 
    /* $("#ShowBox").onclick = ShowAccessible; */ 
    document.getElementById("ShowBox").onclick = ShowAccessible; 
    /* $(".searchcheck").click = ShowAccessible; */ 
}); 

function ShowAccessible() { 
    $("tr.hide").fadeOut(); 
} 

然而,無論這兩個註釋掉線的工作,即他們不click事件應用於一個名爲「ShowBox」帶班「searchcheck」的複選框。爲什麼是這樣?

回答

6

jQuery使用函數,而不是屬性來設置處理程序。

 
$("#ShowBox").click(ShowAccessible); 
8

jQuery對象沒有onclick屬性;當你使用$([selector])時,會返回一個jQuery對象,而不是元素。

選其一

.click(function() { ...}); // can be an anonymous function or named function 

.bind('click', function() { ... }); // can be an anonymous function or named function 

像這樣

$("#ShowBox").click(ShowAccessible); 
$("#ShowBox").bind('click', ShowAccessible); 
+0

糟糕,錯字 - 這不起作用要麼

 $("#ShowAccessible").click = ShowAccessible; 
yuben 2009-05-22 11:39:21

+0

我已經更新了一個例子 – 2009-05-22 11:40:03

0

如果你真的有與分配做了,我想

$( 「#ShowBox」)[0] = .onclick ShowAccessible;

會工作。