dav*_*vid 18 jquery jquery-selectors
我使用.on()函数使用以下语法:
$(".schemaTab").on("click", ".schema", function () {})
Run Code Online (Sandbox Code Playgroud)
而不是.live()因为我.schema动态添加div.那些div有这个代码:
<div class="schema" id="SCH_16">
<img src="Img/btnRemove.png" class="ikona SCH_Remove" alt="Smazat" title="Smazat">
</div>
Run Code Online (Sandbox Code Playgroud)
但我需要从其父div的click事件中排除img,所以任何想法如何去做?
我试过了:
$(".schemaTab").not(".SCH_Remove").on("click", ".schema", function () {})
Run Code Online (Sandbox Code Playgroud)
...但它不起作用,我不知道如何添加代码.not()内部.on()
Tat*_*nit 21
.not()将不起作用,因为on方法将事件处理程序附加到jQuery对象中当前选定的元素集,并使用原始选择器来测试事件是否应该应用.
所以我认为选择然后过滤你的情况就可以了.
你可以试试这个:
$(".schemaTab").on("click", ".schema", function (e) {
if (!$(e.target).is(".schemaTab")) {
// not stuff in here
}
});
Run Code Online (Sandbox Code Playgroud)
实际上,您可以将:not选择器与.on方法一起使用,就像这样。
这是一个比Tats_innit的答案过滤结果更干净的解决方案。
$('.schemaTab').on('click', '.schema:not(.booga)', function(event) {
// Fun happens here
});
Run Code Online (Sandbox Code Playgroud)
我正在使用jQuery 1.11.0。
| 归档时间: |
|
| 查看次数: |
7839 次 |
| 最近记录: |