我的前提是,我只使用一个DOM和DOM API,例如getElementById
、querySelector
或event
引用。在这种情况下,使用以下条件是否安全?
if (document.body === event.currentTarget) { }
如何检查事件是否冒泡到文档的body?
我知道这对克隆的对象无效。但我没有克隆任何对象。DOM API是否会在其他地方克隆对象?
我的前提是,我只使用一个DOM和DOM API,例如getElementById
、querySelector
或event
引用。在这种情况下,使用以下条件是否安全?
if (document.body === event.currentTarget) { }
如何检查事件是否冒泡到文档的body?
我知道这对克隆的对象无效。但我没有克隆任何对象。DOM API是否会在其他地方克隆对象?
<div id="parent">
<p>drek</p>
<p id="target">kmek</p>
<div>mrr</div>
</div>
您可以将 jq 选择结果与另一个进行比较:
$("#target").is($("#target"));
$("#target").is(document.getElementById("target"));
你可以使用回调函数,因为它不会创建新的 jq 对象:
$( "#target" ).click(function( event ) {
var target = $( event.target );
if ( target.is( "li" ) ) {
target.css( "background-color", "red" );
}
});
你可以在集合上使用它:(如果它至少与集合中的一个元素匹配,则为true):
$('#parent').children().is("p");
可能还有其他一些聪明的用途: API描述