我想在第一次页面加载时运行脚本(对于选择元素的默认值),然后在每次更改选择元素时运行脚本。 是否可以在一行中完成,或者我是否需要为此事件复制函数?
我知道我可以使用下一个结构:
$('#element').on('keyup keypress blur change', function() {
...
});
但是好像不支持load事件
有什么想法吗?
如果我明白你的意思,只需触发以下任一事件:
$('#element').on('keyup keypress blur change', function() {
...
}).triggerHandler('keyup'); //or trigger('keyup') or keyup() which then let event propagate
您可以创建一个常规函数并告诉 jQuery 在这些事件发生时调用它,而不是使用匿名函数(在将要使用它们的地方定义它们)。
$(document).ready(myFunction);
$('#element').on('keyup keypress blur change', myFunction);
function myFunction() {
// Do something here...
}
对于更改元素,请使用您的 :
$('#element').on('change', function() {
...
});
并在第一次加载时使用相同的功能,使用如下结构:
jQuery(window).on("load", function(){
$('#element').change();
});
调用相同的函数
$('#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>