我有以下JS代码;
var $divContent = $("<div />");
$divContent.on('click.mypop', function(e){
alert(e.type);
}
因此页面上有一个带有一些文本内容的div。
我的问题是没有带有“mypop”类的元素,当我对div点击操作时,我的代码仍然在点击处理程序内部?
这怎么可能?
答案 0 :(得分:0)
请参阅:jQuery docs。第一个参数是事件类型,与DOM中的任何内容无关。
答案 1 :(得分:0)
您正在将处理程序附加到事件click.mypop
。这只是click
命名空间中的mypop
事件。您可以在“事件名称和命名空间”部分中阅读更多相关信息:http://api.jquery.com/on/简而言之,命名空间用于附加和删除特定事件组而不会打扰其他事件。
如果你想把你的处理程序附加到div中mypop
类的元素,你应该像这样附加它:
var $divContent = $("<div />");
$divContent.on('click', '.mypop', function(e){
alert(e.type);
}
答案 2 :(得分:-1)
您绑定点击事件不正确。查看有关如何使用.on()
的官方API文档。它应该如下:
var $divContent = $("<div />");
$divContent.on('click', '.mypop', function(e){
alert(e.type);
}
答案 3 :(得分:-1)
没有像click.mypop
这样的事件
格式:$(staticElement).on(event, selector, function)
。
例如:$(document).on('click', '.mypop', function(e){alert(e.type);})