0

私はさまざまな場所でevent.preventDefault()andを使用してきevent.stopPropagation()ましたが、それを機能させるのはいつも少し苦労しているようです.

私は今、インスタンスで壁にぶつかりました:-

$("#existing_Flavours").on("keydown", function(event){
    switch(event.which){
        case 9:
            //tab called permit
            break;
        default:
            event.preventDefault();
            event.stopPropagation();
    } // end switch
});

タブキーを機能させたいのですが、それ以外は何もしません。

これを際限なく回っていますが、何があっても、通常のキーストロークの発生を止めることはできません.

4

3 に答える 3

2

要素が動的な場合は、 keydown をバインドするときに実際に存在する要素にイベントを委任する必要があります。

$(document).on("keydown", "#existing_Flavours", function(event){
   switch(event.which){
      case 9:
           //tab called permit
          break;
      default:
           //event.preventDefault();
           //event.stopPropagation();
           // or just use return false
           return false;
    }
});​
于 2012-11-29T16:07:27.030 に答える
0

私の推測では、どのイベントが実際にキャラクターを登場させるかに関係している. keydown keyup keypressそれらすべてを確実にキャッチするために、バインドを試みます。

于 2012-11-29T16:04:08.153 に答える
-1

まあ、まず第一に、私はあまりスイッチが好きではありません(おそらくこれは何もしません)、試してください:

$("#existing_Flavours").live("keydown", function(event){
    var keyCode = event.keyCode || event.which; 

    if (keyCode != 9) { 
      event.preventDefault(); 
    }

});
于 2012-11-29T16:06:58.527 に答える