我想知道是否有一个选项可以调用已经分配给jQuery事件的函数。
例如:
``` $("#somediv").change(function() { //do something }); ```
我想能够手动调用最初分配给"somediv"元素的函数。
谢谢。
例如:
``` $("#somediv").change(function() { //do something }); ```
我想能够手动调用最初分配给"somediv"元素的函数。
谢谢。
使用 trigger 方法:
$("#somediv").trigger("change");
$("#somediv").change();
。 - Matt Ball你尝试过这个吗?
$("#somediv").change();
$("#somediv").change()
。$("#somediv").change(function() { doSomething(); });
var doSomething = function() {
// actually do something
}
我认为你的意思是在 change(..) 函数外定义该函数。
function whatever() { // do something }
$("#somediv").change(whatever);
然后你可以在其他地方调用你的函数。
至少这是我理解你的问题的方式。
如果你不想实际触发改变事件(如上面的先前答案所示),你应该将该函数提取到你可以从多个地方调用的内容中。看起来你已经找到了一个在你的应用程序中可以重复使用的地方,提取它可能是最好的答案。
<script type="text/javascript">
window.onload = function () {
$("#somediv").change();
}
</script>
$("#somediv").change
会给你返回jQuery对象的方法change
,而不是你所期望的函数。 - Jacob Mattisontypeof ($("#somediv").change)
的结果永远是'function'
。 - Matt Ball