0

次のようなjQueryアコーディオンがあります。

<div id="accordion">
    <h3>Log Output</h3>                             
    <div id="result" class="logStyle"  />
</div>

次のようにJavaScriptで初期化します(ドキュメント準備機能で):

$("#accordion").accordion({ 
    header: "h3", 
    collapsible: true, 
    active: false
});

ユーザーが「Enter」を押したときに、1 つのアイテムが開かないようにしようとしています。キープレスを削除しようとしました:

$("#accordion").removeAttr("keypress");

イベントを直接処理する:

$("#accordion").bind('keypress', function(e) {
    e.stopPropagation();
}});

$("#accordion").keypress(function (evt) {
    var charCode = evt.charCode || evt.keyCode;
    if (charCode  == 13) { 
        return false;
    }
});

しかし、私が何をしても、エンターを押すとアコーディオンが開きます。これを無効にするにはどうすればよいですか?

4

2 に答える 2

1
$('#accordion').unbind('accordion');

この関数でもイベントを委任できるため、.on()andを使用することをお勧めします。.off():)

http://api.jquery.com/on/
http://api.jquery.com/off/

于 2013-01-29T19:30:02.380 に答える
0

$("#accordion")tryを使用する代わりに$(document)

于 2013-01-29T19:29:34.053 に答える