jQuery单击事件处理程序

时间:2014-09-09 07:38:04

标签: javascript jquery

我有以下JS代码;

var $divContent = $("<div />");
$divContent.on('click.mypop', function(e){
alert(e.type);
}

因此页面上有一个带有一些文本内容的div。

我的问题是没有带有“mypop”类的元素,当我对div点击操作时,我的代码仍然在点击处理程序内部?

这怎么可能?

4 个答案:

答案 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);})