首页 新闻 搜索 专区 学院

内容页function如何加载母版页与之有关的事件与方法

0
悬赏园豆:10 [已解决问题] 解决于 2019-04-29 10:17

内容页一个function方法中有拼接input的,母版页有相关的onclick事件,内容页触发这个function方法后,会在内容页拼接显示一个input,但点击并没有效果,母版页有该input的onclick事件。如果将该onclick事件写到内容页的那个function方法里,就可以有效果。猜测是因为作用域不同的原因?闭包的缘故?但不知道如何高效的解决,目前的本方法就是再在function中写一遍onclick事件
function a() {
m+=‘<div><input class="form-d" id=“xx”/>拼接的。。。。。</div>’
$("#list")append($(m));
}
母版页是根据class写的一个onclick
$('.form-d').on("click",function()
{
...
});
不知道为什么?

气氛组(红尘熊)的主页 气氛组(红尘熊) | 小虾三级 | 园豆:552
提问于:2019-04-27 11:30
< >
分享
最佳答案
1

$('body').on("click",".form-d",function()
{
...
});
这样子试试

收获园豆:10
你风致 | 老鸟四级 |园豆:2180 | 2019-04-28 09:18

这样是可以的,为啥啊?

气氛组(红尘熊) | 园豆:552 (小虾三级) | 2019-04-29 10:02

是因为扩大了作用域吗?

气氛组(红尘熊) | 园豆:552 (小虾三级) | 2019-04-29 10:04

@但乱红尘: 你拼接上去的input,相当于是个未来元素;要给未来元素添加事件,
需要使用事件委托。也就是将点击事件绑定到任意父元素上,指定子元素。
你可以百度一下事件委托或事件代理

你风致 | 园豆:2180 (老鸟四级) | 2019-04-29 10:06

@心悠魂然: 🆗,十分感谢

气氛组(红尘熊) | 园豆:552 (小虾三级) | 2019-04-29 10:16
其他回答(1)
0

事件也放在拼接的字符串里就行了

jqw2009 | 园豆:2417 (老鸟四级) | 2019-04-28 09:32

是在拼接字符串里拼接onclick()吗,我试了是不行的

支持(0) 反对(0) 气氛组(红尘熊) | 园豆:552 (小虾三级) | 2019-04-29 10:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册