8

我想在第一次页面加载时运行脚本(对于选择元素的默认值),然后在每次更改选择元素时运行脚本。是否可以在一行中完成,或者我是否需要为此事件复制功能?

我知道我可以使用下一个结构:

$('#element').on('keyup keypress blur change', function() {
    ...
});

但它似乎不支持加载事件。

有任何想法吗?

4

3 回答 3

11

如果我明白你的意思,只需触发以下任一事件:

$('#element').on('keyup keypress blur change', function() {
    ...
}).triggerHandler('keyup'); //or trigger('keyup') or keyup() which then let event propagate
于 2013-07-29T11:38:00.357 回答
5

您可以创建一个常规函数并告诉 jQuery 在这些事件发生时调用它,而不是使用匿名函数(在它们将被使用的地方定义它们)。

$(document).ready(myFunction);
$('#element').on('keyup keypress blur change', myFunction);

function myFunction() {
    // Do something here...
}
于 2013-07-29T11:42:45.383 回答
5

对于更改元素,请使用您的:

$('#element').on('change', function() {
    ...
});

并在首次加载时使用相同的功能,使用如下结构:

jQuery(window).on("load", function(){

  $('#element').change();

});

调用相同的函数

于 2013-07-29T11:42:00.453 回答