无法分配点击事件
Not Able To assign click event
我有以下html代码。在我的页面中,有很多标签都有class='posta',但我只想将onclick事件分配给具有post属性的标签。
<ul class="posts_li">
<li>
<a href="#" class="posta" post="status">Post</a>
</li>
<li>
<a href="#" class="posta" post="act">Act</a>
</li>
<li>
<a href="#" class="posta" post="event">Event</a>
</li>
<li>
<a href="#" class="posta" post="news">Create News</a>
</li>
</ul>
我分配事件的Jquery代码在这里
$(".posta").click(function(){
alert("here");
if($(this).attr("post")){
alert($(this).attr("post"));
}
});
$(".posta[post]").click(....);
Fiddle:http://jsfiddle.net/maniator/LmrPR/
然后在选择器中使用[attribute=value]
:
示例
$('.posts_li').on('click', '.posta[post]', function() {
alert($(this).attr("post"));
return false;
});
此外,您可以通过将每个项委派给父项来避免为它们放置事件处理程序。在本例中,我使用.on()
方法(jQuery 1.7+)在<ul>
上为所有子元素放置了一个单独的处理程序。对于较旧的jQuery(1.4.2+),.delegate()
也可用。
Use可以使用属性选择器[propertyname]
仅选择具有该属性的节点。
$(".posta[post]").click(function(){ ... });
您可以使用css/jquery属性选择器:
$(".posta[post]").click(......... your code here)
以下是示例:http://jsfiddle.net/wHvkF/
我会使用:来完成它
请参阅此Fiddle示例列表中的最后一个不报警
$(".posta[post]").click(function(e) {
e.preventDefault();
alert("here");
});
自jQuery 1.0版本起运行
相关文章:
- jQuery在页面加载时分配点击事件处理程序
- 在插件中分配事件
- Node.js,为事件分配回调函数'数据'
- 分配和删除单击事件
- 查找将 onclick 事件分配给节点的代码
- 通过参数将传递的函数分配给动态创建的输入类型的onclick事件
- 在分配事件时避免代码重复
- 无法分配点击事件
- 内联事件处理程序与基于脚本的处理程序分配
- 将事件处理程序分配给元素集合
- jQuery:如何从一个元素捕获事件并将其分配给另一个元素
- 在循环内分配点击事件
- 如何将委托事件分配给特定的 Dom 元素
- 使用不正确的迭代器值进行事件分配
- 为什么HTML按钮没有't调用onclick事件分配的函数
- 将onmouseover事件分配给动态生成列表
- 如何将基于enter键的事件分配给选定的<
- 内的元素
- 同时将onclick事件分配给多个DOM元素
- Javascript事件冲突,但不确定如何识别第一个事件分配
- 将JQuery事件分配给自定义对象方法