1

私はこのフィドルでいくつかのjQueryをテストしようとしています:

<div id="myDiv"></div>
<input name="Button3" type="button" value="Invoke" onclick="get()">
function get() {
    var data = {};
    data.foo = "bar";
    data.stuff = {
        nifty: "stuff"
    };

    $("#myDiv").text(JSON.stringify(data));
}

get()Invoke」を押しても関数が呼び出されません。発生する必要があるのは、divコンテンツが更新されることです。

4

3 に答える 3

1

Jsfiddle は、windows.load イベントで関数を評価します。

<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){
function doSomething() {
    var data = {};
    data.foo = "bar";
    data.stuff = {nifty: "stuff"};

    ("#myDiv").text(JSON.stringify(data));
}

});//]]>  

</script>

しかし、ブラウザはそれを参照する要素よりもヘッダーまたは前にそれを必要とします。

コードを次のように変更する必要があります。

<div id="myDiv"></div>
<script type="text/javascript" >
    function doSomething() {
    var data = {};
    data.foo = "bar";
    data.stuff = {nifty: "stuff"};

    $("#myDiv").text(JSON.stringify(data));
}
</script>

<input name="Button3" type="button" value="Invoke" onclick="doSomething()">
​

しかし、

jquery スタイルのイベント アタッチメントを使用することをお勧めします。

<input id="myBTN" name="Button3" type="button" value="Invoke" />
$('#myBTN').click(function(e){
    // do something
});
于 2012-05-23T09:45:58.053 に答える