我正在构建一个jQuery插件来设置样式复选框。我隐藏真实的一个,然后插入按钮,当点击切换隐藏的复选框。但是,如果我通过JavaScript检查隐藏的复选框,假按钮当然不会改变。我考虑过使用jQuery .change()
进行更改,但它也不会在JavaScript发生时触发更改而不是实际点击复选框。
我希望插件具有通用性,如果某人有一个像“全部检查”或“取消全部检查”这样的按钮,那么它也能正常工作,我希望我的假复选框按钮能够相应地改变。
问题是我应该使用什么方法来代替jQuery的更改(),以便不仅可以通过鼠标点击进行更改,还可以通过javascript进行更改 $('checkbox').prop('checked', true);
EDIT2: 我意识到没有正确的方法来使用JavaScript查看属性,除了每个复选框每秒多次检查属性非常没有吸引力。我决定不在我的插件中包含这样低效的功能,而是让用户也触发它如果他想通过JavaScript操纵值,就会改变。
答案 0 :(得分:6)
您无法观看属性。您可以设置一个每隔几毫秒查找一次更改的计时器,但这并不令人满意。
相反,你应该依赖所有其他代码来触发更改事件,当他们想要像你这样的插件更新时(可能还有他们没有的情况):
$(':checkbox').prop('checked', true).change();
答案 1 :(得分:0)