无法分配点击事件

Not Able To assign click event

本文关键字:事件 分配      更新时间:2024-02-25

我有以下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版本起运行