2012-03-10 11 views
0

ユーザーがWebページ内のリンクに触れたときとページの他の部分に触れたときを検出しようとしていますが、機能していない - 次のコードアラートは「リンクされていない場合」に関係なく、タッチしたときにポップアップします。ユーザーがリンクに触れたときの検出

このコードにはどのような問題がありますか?

function addListeners() 
{ 
    alert('adding listeners'); 

    // Attach the listener for touches on non-links to the document node 
    document.addEventListener("touchstart", touchesOnNonLinksListerner, false); 

    // Attach the listener for touches on links to the anchor nodes 
    var links = document.getElementsByTagName("a"); 
    for (var index = 0; index < links.length; ++index) 
    { 
     links[index].addEventListener("touchstart", touchesOnNonLinksListerner, false); 
    } 
}; 

function touchesOnNonLinksListerner(event) 
// Catches touches anywhere in the document 
{ 
    alert("touched a non link"); 
} 

function touchesOnLinksListener(event) 
// Listens for touches which occur on links, then prevents those touch events from bubbling up to trigger the touchesOnNonLinksListerner 
{ 
    alert("touched a link"); 
    if (typeof event == "undefined") 
    { 
     event = window.event; 
    } 

    event.stopPropegation(); 
} 
+2

'stopPropagation()'のスペルが間違っています。 – JJJ

+0

ここにあなたの投稿のタイプミスでなければ、それはevent.stopPropagation() - ..paではありません.. –

+0

またいくつかの場所で 'Listener'のスペルが間違っています。 –

答えて

1

あなたはあなたのリンクにもOnNNLinksListernerを添付しています。代わりにtouchesOnLinksListenerを添付してください!

関連する問題