有人可以向我解释或指出我的其他解决方案:
class fruit
在两个不同的标记元素中,并且一个元素在jquery选择器中使用add class
,但警报框未显示。 ("add is clicked")
<table>
<tr>
<td><a href="#" class="add fruit">Apple</a></td>
<td><a href="#" class="fruit">Apple 2</a></td>
</tr>
<tr>
<td><a href="#" class="add fruit">Banana</a></td>
<td><a href="#" class="fruit">Banana 2</a></td>
</tr>
</table>
当我点击Apple
链接时,我想要显示两个警告框。
请参阅此FIDDLE了解演示。
$('.add').off("click").on("click", function () {
alert("add is clicked");
});
$('.fruit').off("click").on("click", function () {
alert("fruit is clicked");
});
答案 0 :(得分:1)
你已经做得正确,只需删除“关闭”。
$('.fruit').on("click", function () {
alert("fruit is clicked");
});
$('.add').on("click", function () {
alert("add is clicked");
});
答案 1 :(得分:0)
不知道你做了什么,但我想你希望得到这个结果。
$('.add').click(function () {
alert("add is clicked");
});
$('.fruit').click(function () {
alert("fruit is clicked");
});
看这里:
答案 2 :(得分:0)
在你的小提琴中,你在off("click")
之前使用on("click", function...)
。第一个关闭清除所有以前注册的点击处理程序。因此,在添加add
点击处理程序
fruit
点击处理程序
答案 3 :(得分:0)
off
method取消绑定所有先前绑定的点击事件。
我认为将这些事件放入一个处理程序会更好。
$('.fruit').click(function () {
if ($(this).hasClass('add'))
alert("add is clicked");
else
alert("fruit is clicked");
});
答案 4 :(得分:0)
使用&#34; .off(&#39;点击n#39;)和#34;在2中,删除1中添加的事件处理程序。
1. ---
$('.add').off("click").on("click", function () {
alert("add is clicked");
});
2. ---
$('.fruit').off("click").on("click", function () {
alert("fruit is clicked");
});
按相反的顺序排列:
$('.fruit').off("click").on("click", function () {
alert("fruit is clicked");
});
$('.add').off("click").on("click", function () {
alert("add is clicked");
});