jQuery如何控制未来的元素(动态生成的节点)
2014-03-21 16:31
281 查看
$("div").click(function(){
$("body").append('<div id="div" style="width:400px; height:400px; background:#000"></div>');
});
$("#div").click(function(){
$(this).hide();
});
里面的#div是div点击动态生成的,属于未来的元素,这样写,JS代码在加载的时候$("#div")部分的代码识别不到,所以作废了;
解决方式请看下面
$("body").delegate("div", "click", function(){
$("body").append('<div id="div" style="width:400px; height:400px; background:#000"></div>');
$("#div").click(function(){
$(this).remove();
});
});
使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
PS还可以用on()方法
on('event','元素',function(){})
关键词:delegate(),on(),事件冒泡,其实就是在window上加一个事件,再判断是不是这个元素
$("body").append('<div id="div" style="width:400px; height:400px; background:#000"></div>');
});
$("#div").click(function(){
$(this).hide();
});
里面的#div是div点击动态生成的,属于未来的元素,这样写,JS代码在加载的时候$("#div")部分的代码识别不到,所以作废了;
解决方式请看下面
$("body").delegate("div", "click", function(){
$("body").append('<div id="div" style="width:400px; height:400px; background:#000"></div>');
$("#div").click(function(){
$(this).remove();
});
});
使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
PS还可以用on()方法
on('event','元素',function(){})
关键词:delegate(),on(),事件冒泡,其实就是在window上加一个事件,再判断是不是这个元素
相关文章推荐
- jQuery:如何给动态生成的元素绑定事件?
- jQuery:如何给动态生成的元素绑定事件?
- jQuery:如何给动态生成的元素绑定事件?
- jQuery:如何给动态生成的元素绑定事件?
- jQuery:如何给动态生成的元素绑定事件?
- jquery 1.9后如何对动态生成的元素绑定事件
- shiro安全框架扩展教程--如何动态控制页面节点元素的权限
- jquery给动态生成的元素如何绑定事件。
- 关于jquery 的绑定事件on 如何绑定动态生成的dom元素
- 动态生成元素动作绑定,jquery 1.9如何实现
- shiro安全框架扩展教程--如何动态控制页面节点元素的权限
- shiro安全框架扩展教程--如何动态控制页面节点元素的权限
- Jquery6_控制Dom元素_动态创建节点及删除节点
- 动态生成元素动作绑定,jquery 1.9如何实现
- 如何给动态生成的文档元素设置样式。
- jQuery如何获取动态添加的元素
- 怎么使用jquery判断一个元素是否含有一个指定的类(class)另外如何给元素动态添加类
- Jquery对动态生成的元素绑定事件
- jquery 动态生成的元素的事件无法绑定
- Jquery动态添加及删除页面节点元素