2009-08-04 2 views
0

特定の要素にアタッチするために新しいYAHOO.util.KeyListenerを作成し、ドキュメント全体に添付する別の新しいYAHOO.util.KeyListenerを作成しました。彼らは両方とも "Enter"キー(キー:13)に関連付けられています。stopPropagationがYUIのKeyListenerで機能しない2.7

特定の要素に取り付けたリスナーのためのハンドラ関数では、私は次のコードを持っている:まだ

  getDetailsLocalnameInput = function(e) { 
        getDetails(localnameInput.value); 
        YAHOO.util.Event.preventDefault(e); 
        YAHOO.util.Event.stopPropagation(e); 
      }; 

を、キー入力からのイベントは、文書全体に添付されたキーリスナーまでpropogateし続け。私は、ドキュメント全体に添付されたキーリスナーのハンドラがキックオフされることを望んでいません。私は両方のハンドラが呼び出されていると確信していますが、特定の要素にアタッチされたハンドラを実行するだけです。

YAHOO.util.Event.stopPropagationをYAHOO.util.KeyListenerとともに使用するのは正しいですか?

keypressイベントが伝播されないようにする方法はありますか?

また、YAHOO.util.Event.stopEvent関数を使用し、e.cancelBubbleを正しく設定せずに試してみました。

私はこのすべてをFirefox 3.5でテストしています。 stopPropagation()をまったく動作させることができません。

答えて

0

はこれを試してみてください:

getDetailsLocalnameInput = function(e) { 
    getDetails(localnameInput.value); 

    if(window.event){ 
     e.cancelBubble=true;//In IE 
    }else{ 
     evt.stopPropagation();//in Others 
    } 

    //YAHOO.util.Event.preventDefault(e); 
    //YAHOO.util.Event.stopPropagation(e); 
}; 
+0

'YAHOO.util.Event.stopPropagation'が同じことを行います。それがうまくいかなければ、どちらもこれはなりません。 – Nate

関連する問題