2009-05-22 124 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;

会工作。