我有一个以这种方式构建的菜单:
ul
li
a
li
a
li
a
我遇到的问题是:当用户点击li a
时,li功能也会触发。 li
- 函数只有在有人点击li
时才会触发(错误标记在a-tag上)。
$('#stromSkjemaTabs li').children().mousedown(function () {
$('#console').append('debug1 <br />');
});
$('#stromSkjemaTabs li').mousedown.(function () {
$('#console').append('debug2 <br />');
});
有没有办法写这个,所以只有其中一个功能被激活?
单击li a
时,应该触发包含“debug1”的函数(也不是debug2)。点击li
时,应启动debug2。
我已尝试过各种儿童组合(),但我无法让它发挥作用。
任何砍刀都在那里?
答案 0 :(得分:1)
从此改变..
$('#stromSkjemaTabs li').children().mousedown(function () {
$('#console').append('debug1 <br />');
});
到这个
$('#stromSkjemaTabs > li > a').mousedown(function (e) {
e.stopPropagation();
$('#console').append('debug1 <br />');
});
上一个会在li的所有孩子身上触发mousedown事件,无论是a
还是{。}}。