<body>
<span class="title" id='color_but'>
点击此处为标题添加颜色
</span>
</body>
<script type='text/javascript'>
$('#color_but').click(function(){
$(this).replaceWith("<input id='ok' type='button'value='确定'/>")
});
$('#ok').click(function(){
alert('ddd');
});
</script>
通过jquery修改后的button是无法触发的,这是为什么 如果是使用onClick绑定的事件就可以触发,应该是一个基础的问题,一直以为可以这么用的~~
你对#ok的绑定操作在js执行到这行时就进行了,但得你生成这个#ok要到你点击#color_but之后才出现。
结果就是你在执行绑定#ok的时候,这个#ok还根本没出现。
就你的代码而言,我不知道你的具体应用场景。你绑定部分可以试试代理delegate或者使用 jq 推荐的 on
以下几种都可以
$('body').delegate( '#ok', 'click', function() {
alert('ddd')
})
$('body').on('click', '#ok', function() {
alert('ddd')
})
总之是需要在已存在的上层进行绑定。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。