这是一个简单的jquery代码:
$(document).ready(function() {
/*$(function() {
// Sets the value of the submit_button_type field if the 'Submit & Add
// Another button is clicked.
$('#submit-id-submit_and_add').click(function() {
$('#id_submit_button_type').val('submit_and_add');
});
}); */
$('#submit-id-submit_and_add').click(function() {
$('#id_submit_button_type').val('submit_and_add');
});
}
以上两者有什么区别? 在第一个中,我将click处理程序包含在函数内部 第二,我在全球范围内定义了它。
第一个函数会在文档准备就绪时运行两次,而其他函数在单击按钮时运行
全球定义的第二种方式,它是如何工作的。 它只会在点击发生时进行评估
假设我的html是
<input id="id_submit_button_type" name="submit_button_type" type="hidden" />
<input type="submit" name="submit_and_add" value="Save & Add Another" id="submit-id-submit_and_add"/>
我想在输入元素中附加onclick,如
<input type="submit" name="submit_and_add" value="Save & Add Another" id="submit-id-submit_and_add" onclick=somefunction/>
some函数将在此处设置input元素的值。我如何在我的js文件中定义一些函数,以便我可以在这里调用它。应该包含在$(document).ready(function(){}中 比如
var somefunction=$('#submit-id-submit_and_add').click(function() {
$('#id_submit_button_type').val('submit_and_add');
});
}
我是Jquery的初学者。所以这些疑惑可能是愚蠢的。 谢谢你的耐心
答案 0 :(得分:2)
$(function() {
<code>
});
简称:
$(document).ready(function() {
<code>
});
所以第一个版本说在文档准备好后绑定处理程序。但由于所有代码都在另一个文档就绪处理程序中,它已经在等待该事件,所以额外的包装器没有任何效果。所以这两个版本是等价的。
如果你想要一个能够完成点击处理程序功能的命名函数,你可以这样做:
function somefunction() {
$('#id_submit_button_type').val('submit_and_add');
}
$(document).ready(function() {
$('#submit-id-submit_and_add').click(somefunction);
});