13

elementjavascriptオブジェクト/DOM要素を含む変数が与えられた場合、event.targetが内部の要素であるかどうかをどのように判断しelementますか?

function(event){
   // assume that var element exists in this scope
   if(event.target == a_child_of(element))
      // do something
}


<div id="myDiv">
   <div class="innerDiv">
      <input type="text"/>
   </div>
</div>

の場合、内部divまたは入力、あるいは内部に存在する可能性のelementあるmyDivその他の要素で発生するイベントmyDivにより、ステートメントはtrueと評価されます。

再帰関数を使用して子要素の配列を作成し、event.targetが配列内にあるかどうかを確認できると思いますが、最初にもっと簡単な答えがあるかどうかを確認したいと思います。

4

2 に答える 2

40

使用することもできます.has()

if ($(element).has(e.target).length > 0){
//
}
于 2012-08-31T20:46:12.390 に答える
14

救助するjQuery

if (jQuery.contains(element, e.target))
于 2012-08-31T20:42:36.053 に答える