到目前为止,我一直在使用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"
属性。
这是解决这个问题的好方法还是有更好的方法?
答案 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>