1

これはFirefoxでのみ機能し、理由がわかりません。オレンジ色のスパンをクリックすると、すべてのブラウザで機能します。選択オプションをクリックすると、Firefoxでのみ機能します...なぜですか?

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
</head>
<body>

    <script type="text/javascript">
        $(document).ready(function() {
            $('.click').click(function() {
                alert("clicked");
            });
        });
    </script>

    <select>
        <option class="click" value="">click</option>
    </select>

    <br /><br /><br /><br />


    <span class="click" style="display:inline-block;width:50px;height:20px;background-color:orange;padding:4px;">click</span>

</body>
</html>
4

2 に答える 2

2

選択オプションをクリックすることはできません。選択で変更イベントをキャプチャできます。これはすべてのブラウザで機能します。

<script type="text/javascript">
    $(document).ready(function() {
        $(document.getElementById("colors")).change(function() {
            alert($(this).val());
        });
    });
</script>

<select id="colors">
    <option value="click1">click2text</option>
    <option value="click2">click2text</option>
</select>
于 2013-03-07T22:12:37.630 に答える
1

onclickの標準イベントではありません<option>。Firefoxがそれを追加したのは素晴らしいことですが、仕様では定義されていません。

<select>代わりに、'sonchange`イベントを使用する必要があります。

$(document).ready(function() {
        $('select').change(function() {
            if (this.value == "theValue")
                alert("clicked");
        });
    });
于 2013-03-07T22:12:41.687 に答える