Aak*_*thy 0 javascript css-selectors
我的代码如下:
document.onmousedown = function(){
alert('test');
}
Run Code Online (Sandbox Code Playgroud)
现在,除了ID为"box"的元素之外,单击应该调用此函数,即jQuery的.not()选择器的等价物.
jQuery代码将是:
$(document).not('#box').mousedown(function(){
alert('test');
});
Run Code Online (Sandbox Code Playgroud)
如何在不使用jQuery的情况下实现相同的功能?
编辑:我不想要jQuery代码,但我想要一个类似于.not()Javascript中的jQuery选择器的动作.
编辑:我正在制作一个类似addthis的小部件.这是一个10kb的文件,在选择文本时会显示弹出窗口.它不会使用jQuery.
在我的例子中,当选择文本时,会显示一个弹出窗口.在窗口小部件以外的某处单击文档时,窗口小部件应该消失.
要正确地执行此操作,您需要检查e.target || e.srcElement其父母是否或任何父母id === 'box'.
例如:(使用jQuery)
$(document).mousedown(function(e) {
if ($(e.target).closest('#box').length)
return;
//Do things
});
Run Code Online (Sandbox Code Playgroud)
没有jQuery:
function isBox(elem) {
return elem != null && (elem.id === 'box' || isBox(elem.parentNode));
}
document.onmousedown = function(e) {
e = e || window.event;
if (isBox(e.target || e.srcElement))
return;
//Do things
};
Run Code Online (Sandbox Code Playgroud)
或者,您可以处理元素的mousedown事件box并取消冒泡.
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |