JQuery追加点击
JQuery append click
我有一个奇怪的问题与JQuery当我试图点击追加元素是超时函数内我得到了下面的代码:
function generate(){
box = shuffle(box);
console.log(box);
$("#game").empty();
for (var i = 0; i < 4; i++) {
$("#game").append("<div class=box>" + box[i] + "</div>");
}
}
function lvl1(){
box = shuffle(box);
console.log(box);
$("#game").empty();
for (var i = 0; i < 4; i++) {
$("#game").append("<div class=box>" + box[i] + "</div>");
}
}
generate();
setTimeout(function(){
lvl1();
}, 1000);
$(".box").click(function(){
alert("OK");
});
如果我尝试在1秒内点击这个方框,警告会正确显示但如果我尝试在超时后点击它什么也不做也不会显示错误
http://jsfiddle.net/f4kgvaL5/.box
元素是动态追加的,所以您需要使用委托事件:
$("#game").on('click', '.box', function () {
alert("OK");
});
更新小提琴
这看起来像是一个事件委托问题。在lv1期间创建的新盒子上,您不能再次分配事件处理程序。
试
$( "#game" ).on( "click", ".box", function(){
alert("OK");
});
查看代码:-
$(document).on("click",".box",function(){
alert("OK");
});
工作示例:-http://jsfiddle.net/f4kgvaL5/2/
谢谢
相关文章:
- 如何在jquery中停止在更改时追加值
- JQuery.on(“keydown”)追加到页面时不工作
- jQuery[button.class]未检测到用按钮追加行
- 使用jQuery'生成输入字段;s追加
- 正在从JQuery追加Laravel Blade
- jQuery-根据值在输入字段后追加图像
- jQuery动态使用.append()添加输入,但发布表单不是追加数据
- 追加Jquery后的Binding Click事件不起作用
- 追加JQuery元素和Angular
- 如果数据不存在,则在表上追加jQuery
- 正在停止永不结束的追加.jQuery
- 问题在于克隆、拼接、删除、追加 jquery 函数
- 在 HTML 中动态追加 Jquery
- 追加 jquery 不起作用
- 无法追加 jquery
- 未追加 jQuery json 值
- 添加内容使用追加- Jquery
- 追加jQuery工作,但onclick不工作
- 不工作追加(jQuery)在代码中
- 不能向新包装的元素追加jquery元素