0
<a href="#" class="audiocontrol"></a>
<a href="#" class="audiocontrol"></a>
<a href="#" class="audiocontrol"></a>
<a href="#" class="audiocontrol"></a>

<script>
    function playController(dataObj){
        alert(dataObj);
    }

    function playHandlers(){
        var dataObj = "stef";
        $('.audiocontrol').on('click', playController(dataObj));
    }

    $(document).ready(playHandlers);
</script>

このコードは、オブジェクトをクリックするかどうかに関係なく、ページの読み込み時に発生します。なんで?

4

3 に答える 3

3

あなたが望むものは:

function playController(dataObj){
    alert(dataObj);
}

function playHandlers(){
    var dataObj = "stef";
    $('.audiocontrol').on('click', function() { playController(dataObj); } );
}

$(document).ready(playHandlers);

あなたのコードが書かれた方法は、呼び出しplayControllerに登録していたときに.on呼び出していました。

jsfiddle

于 2013-07-20T00:05:15.920 に答える