扫码关注官方订阅号
效果,替换都可以,但是第二个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(){.....}) 用一下事件委托 试试
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
改为
因为你的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(){.....}) 用一下事件委托 试试