jquery e.target.hasClass 不工作

标签 jquery events onclick classname

我动态创建一个新的 div (带有“textbox”类和 ID),以及其中的一些其他元素,稍后在我的代码中我绑定(bind)该 div 到点击事件,并显示点击的元素,如下所示:

$('#textbox_'+i).bind('click', function(event){
    alert(event.target.className);
}

这很好,它会给我 textbox 作为显示的类之一。 但 event.target.hasClass() 似乎不起作用。因此,当我执行以下操作时,什么也没有发生:

$('#textbox_'+i).bind('click', function(event){
    if(event.target.hasClass('textbox')) { alert('got it!'); }
}

我尝试了几种不同的方法,在我看来 event.target.hasClass() 不起作用。有其他方法来处理事件还是我做错了什么?

最佳答案

您尝试在标准 DOM 元素上使用 jQuery 方法 hasClass()。您需要将纯 JS DOM 元素 e.target 转换为 jQuery 对象,如下所示:

$(event.target).hasClass('textbox')

你最终会得到:

$('#textbox_'+i).on('click', function(event){
     if( $(event.target).hasClass('textbox')) alert('got it!');
});

请注意 on() 的使用,即 click 函数的正确结束,如果您只是需要,则在 if 语句中不需要大括号执行一个简单的警报。

关于jquery e.target.hasClass 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12155050/

相关文章:

javascript - 将 JQuery 用于 CSS 与样式表

javascript - 单击时交换类别

javascript - 单击时显示菜单

javascript - onclick of button使用jquery将选中的复选框值发送到函数

c# - 在 C# 中,为什么我不能测试事件处理程序在其定义的类之外的任何位置是否为 null?

javascript - 从哪里获得事件类型列表?

javascript - lightbox onclick 更改 src 然后改回来

JavaScript-onclick

javascript - jQuery 如何创建一个仅显示表单数组值的变量

java - 为什么这个 shutdownhook 不起作用?