我有一个链接:
<a href="javascript:void(0)" class="lorem hello"> link </a>
我有两个不同的onclick函数设置为这两个类:
jQuery(".lorem").each(function(){
this.onclick = function() {
// stuff
}
});
和
jQuery(".hello").each(function(){
this.onclick = function() {
// stuff
}
});
这会阻止顶部工作。为什么?如何在分离时使两个功能都起作用?
答案 0 :(得分:6)
您只能为onclick
属性分配一个功能。你应该使用普通的jQuery事件绑定,它允许多个处理程序:
$(".lorem").click(function() {
// stuff
});
$(".hello").click(function() {
// stuff
});
如果您想使用原生Javascript,可以使用addEventListener
;顾名思义,这些都是附加的,它们无法取代。
jQuery(".lorem").each(function(){
this.addEventListener("click", function() {
// stuff
})
});
jQuery(".hello").each(function(){
this.addEventListener("click", function() {
// stuff
})
});
答案 1 :(得分:5)
当您使用查询时,为什么在DOM元素上使用.onclick
(因此会覆盖以前的绑定)。而是使用jQuery的.on
:
$('.lorem').on('click', function(){
// something
});
$('.hello').on('click', function(){
// something else
});