如何标记可以有点击事件的元素?

时间:2016-10-19 00:32:27

标签: javascript jquery html javascript-events

到目前为止,我一直在使用id来触发jquery中的点击事件,例如:

<button class="btn" id="doAction">Action</button>

$(document).on('click', '#doAction', function ()
{
    // handle the click event
}

但是,如果我在页面上有多个元素应该触发相同的点击事件呢?

例如:

<button class="btn" id="doAction">Action</button>
...
<span class="action-trigger" id="doAction">Action</div>

$(document).on('click', '#doAction', function ()
{
    // handle the click event
}

问题在于,任何给定页面上都应该只存在一个唯一的id

我的问题是,有哪些现代惯例可以解决这个问题?

我想到的一个解决方案是向每个应该触发click事件的元素添加data-action="doAction"属性。

这是解决这个问题的好方法还是有更好的方法?

1 个答案:

答案 0 :(得分:4)

您也可以使用课程。我个人更喜欢使用前缀js-而不添加CSS样式,例如:js-doaction

$(document).on('click', '.js-doaction', function() {
    // handle the click event
}

HTML:

<button class="btn js-doaction">Action</button>
...
<span class="action-trigger js-doaction">Action</div>