jquery动态绑定事件处理一些由于html代码是动态生成绑定事件失败问题

编程教程 > WEB > JavaScript (1332) 2025-01-25 13:31:01

jquery动态绑定事件处理一些由于html代码是动态生成,导致普通的$('selector') 绑定事件失败问题

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>测试</title>
</head>
<body>
<div id="test_div"></div>

<!-- 引入jquery,这里需要改成你们自己的路径 -->
<script type="text/ecmascript" src="resources/common/js/include.js"></script>
<script type="text/javascript">
$(function(){
	var html='<button class="test_btn">动态生成按钮</button>';
	//动态代码添加到div中
	$('#test_div').append(html);
	
	//普通绑定事件方式绑定刚添加的代码中的button点击事件
	 $('.test_btn').click(function(){
		 alert("按钮被点击到了");
	 });
})
</script>	
</body>
</html>

 

解决办法:

使用document代理绑定事件,参考下面代码

//动态绑定,其实就是将绑定事件交给document托管;格式  $(document).on('事件名','jquery选择器',function(){});
$(document).on('click','.test_btn',function(){
    alert('动态绑定生效了');
})

 

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
jquery动态绑定事件处理一些由于html代码是动态生成,导致普通的$('selector') 绑定事件失败问题&lt;!DOCTYPE html&gtl;&lt;html&gtl;&lt;h
jquery绑定鼠标滚轮滚动事件 $(document).on("mousewheel DOMMouseScroll", function (event) {
ckeditor绑定keyup/keydown等事件实现一些功能,比如实时保存$(function(){//1编辑器初始化$('textarea#blog_content').ckeditor();
javascript中onclick事件传递对象参数,javascript,javascript传递对象参数
jquery模拟点击事件写法//语法:$(selector).trigger("click");$('#test).trigger("click"); over
冒泡事件定义比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这一过程被称为事件冒泡。当我们点击按钮后,因为按钮也属于.box元素,所以
JavaScript/jquery选择同级兄弟节点选择上下级节点方法&lt;script&gtl;function js_selector() {var s= documen
在ckeditor4的时候绑定blur事件代码如下:window.editor.on('blur',function(){//这里写你想做的事儿})同样的代码搬到ckeditor5不仅不能用,还...
尽管现在前端技术发展飞速发展,各种技术迭代很快,但jQuery还是在一些企业站或者简单网页尝尝用到,本文记录一下学写jQuery插件的内容,愿新手共勉,共同进步
jQuery的$.ajax()使用及API文档,jQuery,ajax,$.ajax()
jquery/j获取raido选中元素/选中值html&lt;div id="testRaidoGroup"&gtl;&lt;input type="radio" name="te
使用jQuery判断元素是否在可视区域 $("#app").offset().top; offset().top表示 绝对偏移值,比如说有一个很长的页面,#ap
JavaScript/JS数组清空,删除数组内所有数据。Array=[]与Array.length=0的区别
jquery中的foreach(即each)数据的遍历或者处理HTML页面元素的遍历使用方法讲解
JavaScript/JS读取文本/JSON文件内容let file = files[0];var reader = new FileReader();read