我正在编写的 jQuery 插件的一部分涉及将输入<div>
(内容)包装到动态创建<div>
的(容器)中。
然后我的插件需要在不更改内容 div 的情况下将事件处理程序添加到容器 div。
这是我能写的最简单的 HTML 来描述我的问题。如果显示此内容并单击容器,则不会触发该事件:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(function(){
var container = $('<div class="container">');
$('#content').wrap(container); // (A)
container.click(function(e){alert('clicked');}); // (B)
});
</script>
</head>
<body>
<div id="content">the content</div>
</body>
</html>
请注意,如果标有 (A) 和 (B) 的行在周围切换,则代码按预期工作。我不能在我的插件中这样做,因为我的插件有点复杂。