[英]jQuery bind event on page load
I have a small script that I would like to complete on change of value, on click, or on keyup on certain elements, but I also want it to happen on page load (or when the elements first load). 我有一个小脚本,我想在某些元素的值更改,单击或键入时完成该脚本,但是我也希望它在页面加载时(或在元素首次加载时)发生。
The code that I have now will do it, but doesn't do it originally on page load, you have to complete one of the 3 triggers first. 我现在拥有的代码可以执行此操作,但是最初不会在页面加载时执行它,您必须首先完成3个触发器之一。 Is it possible to do this without writing a new script?
是否可以在不编写新脚本的情况下执行此操作?
$(document).ready(function() {
$('.orderinput, .paymethod, .serverselect').bind('change click keyup', function(event) {}
});
Take your logic out, and put it into a separate function. 排除逻辑,然后将其放入单独的函数中。 Then call that function in your ready clause.
然后在您的ready子句中调用该函数。 For example:
例如:
$(document).ready(function() {
$('.orderinput').on('change click keyup', function(event) { myComplexFunc(event); } );
var myComplexFunc = function(event) {
console.log('Triggered');
}
myComplexFunc();
});
Along the lines of Mike L, I would suggest you use .on
instead of .bind
as it is the preferred method for attaching event handlers to a document, see this . 与Mike L
.on
,我建议您使用.on
而不是.bind
因为它是将事件处理程序附加到文档的首选方法,请参见this 。
If you want to avoid writing a separate function you can trigger an event after the event handler has been attached directly on the element like this: 如果要避免编写单独的函数,可以将事件处理程序直接附加到元素上后触发事件,如下所示:
$(".yourElementClass").click(); //or .change() or .keyup()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.