1

これでうまくいくと思ったのですが、うまくいきません。

html

<select id="TaskId">
 <option>A list of options</option>
</select>

jQuery

<script type="text/javascript">
 $("#TaskId").click( function(e){
    e.preventDefault();
 });
</script>
4

2 に答える 2

2

e.preventDefaultは、ドロップダウンのクリックコンテキストでは機能しません。次を使用してください。

コード1:

$("#TaskId").mousedown(function(){
   return false;
});

これも使用できます:

コード2:

$("#TaskId").mousedown(function(e){
   e.preventDefault();
});

警告:e.preventDefault()には、FirefoxおよびOperaでのイベント処理に関するバグがあります。

これは、達成しようとしていることに対する一種の解決策になる可能性があります。

コード3: ただ遊んでください:

$("#TaskId").prop('disabled', true);
$("#TaskId").prop('disabled', false);

コード4: すべてのイベント処理を無効にしたくない場合は、次の例を見てください。

コード4のデモ:http: //jsfiddle.net/AHEex/

コード1および2のデモ:http: //jsfiddle.net/oscarj24/JcpPU/

お役に立てれば :-)

于 2012-04-26T20:27:27.043 に答える
1

選択フィールドを単に無効にしないのはなぜですか? これは、望ましい動作をもたらし、ユーザーに何が起こったかを示します。クリックリスナーをインストールする代わりに、

$("#TaskId").prop("disabled", true);
于 2012-04-26T22:07:21.947 に答える