【问题标题】:How does jQuery handle the click event?jQuery 如何处理点击事件?
【发布时间】:2009-05-22 11:35:11
【问题描述】:

我是 jQuery 新手,无法使用元素的 id 让选择器工作。下面的代码有效:

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

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

但是,这两条注释掉的行都不起作用,即它们不会将点击事件应用到名为“ShowBox”且具有“searchcheck”类的复选框。这是为什么呢?

【问题讨论】:

    标签: javascript jquery asp.net-mvc


    【解决方案1】:

    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);
    

    【讨论】:

    • 糟糕,错字 - 这也不起作用
       $("#ShowAccessible").click = ShowAccessible; 
    【解决方案2】:

    JQuery 使用函数而不是属性来设置处理程序。

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

    【讨论】:

    • 谢谢汤姆。我误读了包含此示例的教程。
    【解决方案3】:

    如果你真的需要做作业的话,我想

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

    会起作用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 2023-03-24
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2015-09-15
      • 2011-10-11
      相关资源
      最近更新 更多