我可以在加载和更改时运行 jQuery 函数吗?

问题描述 投票:0回答:4

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

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

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

但是好像不支持load事件

有什么想法吗?

jquery events onload
4个回答
11
投票

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

$('#element').on('keyup keypress blur change', function() {
    ...
}).triggerHandler('keyup'); //or trigger('keyup') or keyup() which then let event propagate

6
投票

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

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

function myFunction() {
    // Do something here...
}

5
投票

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

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

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

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

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

});

调用相同的函数


0
投票

$('#element').on('keyup keypress blur change', function() {
  console.log($(this).val());
}).change();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="element">
  <option value="">Select</option>
  <option value="1">BMW</option>
  <option value="2">HONDA</option>
  <option value="3">FORD</option>
</select>

© www.soinside.com 2019 - 2024. All rights reserved.