gpt4 book ai didi

javascript - 在没有事件的情况下触发事件函数

转载 作者:行者123 更新时间:2023-12-02 17:22:23 25 4
gpt4 key购买 nike

我正在尝试找到一种方法来重用从事件绑定(bind)触发的函数。

此问题是由浏览器记住复选框状态引起的,因此我必须在文档就绪时触发该功能。

我知道我可以将 setGrid() 放入匿名函数中并传入元素,但这会使解除特定事件的绑定(bind)变得困难。

HTML:

<input type="checkbox" value="grid" id="checkbox-grid">

Javascript:

function setGrid(e) {

var $this = $(e.target); // "error: e is undefined" on situation 2

if( $this.is(':checked') ){
// do something if checkbox is checked
}
else{
// do something if checkbox isn't
}
}

// 1. event binding
$('#checkbox-grid').on('change', setGrid);

// 2. function fired on page ready
setGrid();

最佳答案

您可以使用您拥有的第一个解决方案。由于您使用的是 jQuery,因此触发该函数非常容易,您只需触发与其关联的事件即可。所以:

$('#checkbox-grid').on('change', setGrid);    // to set it up; then
$('#checkbox-grid').trigger("change"); // fires the change event of the
// checkbox, so fires the function.

您可以对任何事件执行此操作,只需将事件替换为 change 即可。但是,由于您可能出于某种原因使用 change 进行此操作,因此最好保持原样。

希望这有帮助。

关于javascript - 在没有事件的情况下触发事件函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23814083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com