当我运行此代码时,警告会多次弹出alertt()
功能。
<script>
var newdiv = '<div id="text2" onmouseover="alertt()" contenteditable="true">text color to be changed</div>';
$(document).ready(function(){
$('.addbutton').click(function () {
$(this).after($(newdiv).addClass('e'));
});
$(".e").draggable({ }) .click(function() {
$(this).draggable({disabled: true}); })
.blur(function() { $(this).draggable({disabled: false});
alert('2');
});
});
function alertt() {
$(".e").draggable({ })
.click(function() {
$(this).draggable({disabled: true});
alert('3');
})
.blur(function() {
$(this).draggable({disabled: false});
alert('4');
});
}
</script>
<body>
<div id="output"></div>
<button class="addbutton">Add Text</button>
<div id="text" class="e" contenteditable="true">text color to be changed</div>
</body>
以及为什么此功能无法用于新<div>
,即使我对此元素addClass('e')
也是如此。
$(".e").draggable({ }) .click(function() {
$(this).draggable({disabled: true}); })
.blur(function() { $(this).draggable({disabled: false});
alert('2');
});
感谢任何解决此问题的建议或更正。
答案 0 :(得分:0)
不起作用,因为它们是动态创建的,并且click事件未附加到它们。创建newDiv后,您必须附加click事件手册。或解除所有'.e'中的点击事件并再次绑定到所有。