【发布时间】:2015-12-18 21:42:48
【问题描述】:
在查看了其他问题并尝试了许多可能的解决方案后,我仍然无法正确绑定 click 事件,非常感谢任何帮助。我正在开发一个与 api 交互的网页,没有服务器,只是进行 ajax 调用。
这是我的 HTML:
<div class = "img image-1 onTop" style="width:300px;left:0px">
<div class = "pallette-container">
<div class = "color-sample">
<div class = "color-overlay">
<p>#55423</p>
</div>
</div>
</div>
</div>
当我从 ajax 请求返回数据时,我会动态创建这些“img”div 和所有子 div。
我需要在 'div.color-overlay' 元素上绑定一个点击事件函数。
我尝试了许多不同的方法来绑定它,并且已经达到了我认为用选择器抓取元素的最具体的方法。
这是我写的函数:
$('div.img.onTop.image-1>div.palette-container').on('click', 'div.color-sample>div.color-overlay',function(event){
var searchValue = $(this).parent().attr('data-color');
$('#colorvalue').val(searchValue);
});
请帮助我了解问题所在。我没有逻辑可以尝试。非常感谢!我正在使用 Jquery 2.1.3。
【问题讨论】:
-
代码对我来说看起来不错。您确定点击事件没有正确绑定吗?将
console.log放入您的函数中,看看它是否在点击时登录。我假设您认为这不起作用,因为事件不受约束。我看到了别的东西。我看到div.color-sample元素上没有data-color属性。 :) 这就是为什么seems不起作用/ -
我在你的 html 中看不到 data-color 属性。
-
你能否添加完整的 HTML 和 JS 代码来说明如何在 DOM 中添加动态内容
-
“当我从 ajax 请求取回数据时动态创建这些“img” div 和所有子 div” 尝试在
complete回调处附加click事件$.ajax()?