3

HTML選択リストがあり、アイテムを選択すると、その下にさまざまな情報を表示する必要があります。onclickまたはJQuery変更イベントは、選択リスト項目がクリックされて(マウス)選択されたときにトリガーされますが、ユーザーがキーを押したとき(キーボード)にはトリガーされません。

選択したリストアイテムがいつ変更されたかを判断するために、どのイベントを監視するかについて何か考えはありますか?

BASICテストの例を次に示します。

<select id="mylist" name="mylist">
    <option value="">(none)</option>
    <option value="1">Test 1</option>
    <option value="2">Test 2</option>
    <option value="3">Test 3</option>
</select>

<span id="myspan"></span>

<script type="text/javascript">
    $("#mylist").change(function() {
        $("#myspan").html($("#mylist").attr("selectedIndex"));
    });
</script>
4

3 に答える 3

2

selectボックスがフォーカスを失ったときにコードが実行されます
(タブを押すか、ボックスの外側をクリックしselectます) 。

于 2010-04-21T12:12:16.990 に答える
1

OnChangeイベントは、キーボードショートカットを使用してアイテムが変更された場合、ブラウザーごとに異なります。

たとえば、IEでは、イベントはキーボードとマウスで同じように発生しますが、Firefoxでは、キーボードでイベントをトリガーするには、選択した項目が適切な場合にEnterキーを押す必要があります。Gabyが指摘したように、<select>がフォーカスを失ったときにもイベントが発生します(OnBlur-OnChangeがまだ発生していない場合のみ)。

それはそれが作られた方法です...

于 2010-04-21T12:22:52.923 に答える
0

add属性を変更すると機能します。

multiple="multiple"

ドロップボックスが必要な場合は、「グローバル」キーアップイベントハンドラーをdocument.bodyにバインドし、そこで魔法をかけます。

于 2010-04-21T12:28:27.580 に答える