84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
效果,替换都可以,但是第二个click就是运行不了
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
改为
$('body').on('click', '#hideButton', function(){ //此处省略 })
因为你的idhideButton是后来加上去的,绑定时是不存在id 为hideButton的元素
hideButton
直接绑定到body上就行了 $('body').on('click','#hideButton', function(){
});
1、你把attr改成prop2、你在绑定click listener函数的时候还没有产生id为hideButton的元素。
因为在js执行的时候$('#hideButton')这个选择器在DOM上找不到.这种形式不是动态的.改为:
$('#hideButton').on('click',function(){ alert("111"); }) 这种形式是动态的选择器
或是用类标签来标识
$('.hideButton').on('click',function(){ alert("111"); })
试试时间委派
试试事件委托
动态生成选择器,需要$("body").on("click",'#hideButton',function () {
alert(1); })
事件委托,你在给第二个#name 加事件的时候,选择器其实是找不到这个元素的, 因为你的id是动态添加上去了
.click()绑定需要已经存在的元素,因为你的id="hideButton"是后来才加的,原来的DOM结构是没有的,所以绑定不了。你可以用事件委托,$('body').on('click', '#hideButton', function(){//点击时要执行的}),作用是把click绑定到body上,当触发事件时会在body里找到"#hideButton"作为触发的对象
.click()
id="hideButton"
$('body').on('click', '#hideButton', function(){//点击时要执行的})
.click 改成 .on("click",function(){.....}) 用一下事件委托 试试
改为
因为你的id
hideButton
是后来加上去的,绑定时是不存在id 为hideButton
的元素直接绑定到body上就行了 $('body').on('click','#hideButton', function(){
});
1、你把attr改成prop
2、你在绑定click listener函数的时候还没有产生id为hideButton的元素。
因为在js执行的时候$('#hideButton')这个选择器在DOM上找不到.这种形式不是动态的.
改为:
或是用类标签来标识
试试时间委派
试试事件委托
动态生成选择器,需要$("body").on("click",'#hideButton',function () {
事件委托,你在给第二个#name 加事件的时候,选择器其实是找不到这个元素的, 因为你的id是动态添加上去了
.click()
绑定需要已经存在的元素,因为你的id="hideButton"
是后来才加的,原来的DOM结构是没有的,所以绑定不了。你可以用事件委托,$('body').on('click', '#hideButton', function(){//点击时要执行的})
,作用是把click绑定到body上,当触发事件时会在body里找到"#hideButton"作为触发的对象.click 改成 .on("click",function(){.....}) 用一下事件委托 试试