2012-03-17 7 views
0

私は要素がリンクしたクリックしたかどうかを確認するためのjQueryモバイルからこれを使用しています:jqueryを使って空の選択[]をチェックする方法?

function findClosestLink(ele) {  
     var self = this; 
     while (ele){ 
      if (ele.nodeName.toLowerCase() == "a"){ 
       break; 
       } 
      ele = ele.parentNode; 
      } 
     return ele; 
     } 

それはこのように呼ばれています:画面をクリックすると

$(document).addEventListener("click", function(e ){ 
     var link = $(findClosestLink(e.target)); 
     console.log(link); 
     // routine 
    }); 

Queston関数は空の配列[]を返します。私はこれをチェックしようとしています

if (!link) { 
     return; 
    } 

しかし、これは動作しません。 []を確認するには?

ありがとうございました!

+0

クールを使用しています。作品!答えることができますか?ありがとうございました! – frequent

答えて

2

何のリンクが見つからない場合は、長さが0

2

帰り項目になります

if (link.length == 0) { 
    return; 
} 

を試してみてはとてもarrayで、あなたがチェックする.lengthプロパティを使用する必要があります。

if (!link.length) { 
    // your stuff 
} 
0

読んで理解するために、代わりにそのクリーンかつ容易にこれを行います。

$(document).click(function(e) { 
    var $target = $(e.target); 
    if($target.is("a")) { 
    console.log('link'); 
    } else { 
    // not a link 
    } 
}); 

これは.click()event.target

+0

Jscery Mobileはリンク内に多くの要素を埋め込みます。そのため、Jquery Mobileでは通常、click.ed-btn-insideの内側にあるspan.ui-textです。 ui-btn。 – frequent

+0

jQuery 1.7以降では、 '$(document).on( 'click'、 'a'、function(){....});'を実行すると、 "a"タグのクリックだけがキャプチャされます。 – Guumaster

関連する問題