功能未被调用

时间:2012-05-23 09:29:35

标签: jquery

我正在尝试在this fiddle中测试一些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()函数。应该发生什么是div内容应该更新。

3 个答案:

答案 0 :(得分:1)

你的小提琴不起作用的原因是因为设置错误。将onLoad左侧的下拉列表中的no wrap (head)更改为onclick,即可生效。

但是,当您使用jQuery作为逻辑时,最佳做法是使用它来附加事件,而不是使用笨重的<input name="Button3" type="button" value="Invoke" id="button"> 属性。试试这个:

$("#button").click(get);
{{1}}

Example fiddle

答案 1 :(得分: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
});

答案 2 :(得分:0)

在这里,您可以使用更新后的jiddle

您正在使用javascript调用该函数,而您已在jQuery库中声明了该函数。

HTML

<div id="myDiv"></div>
<input name="Button3" type="button" value="Invoke">

准备好文档中的脚本

$('input[type=button]').click(function () {
get();
})

function get() {
var data = {};
data.foo = "bar";
data.stuff = {nifty: "stuff"};

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