Realy搞砸了使用jQuery触发keyup事件.
这是一个干净的例子
当我输入任何输入时,它们都会触发事件,但是当我尝试以编程方式触发它时($(元素).trigger(‘event’))只会触发第二个触发,但我希望两者都能触发.
我在哪里想念什么?
UPD我无法改变处理程序的附加方式!
解决方法:
触发事件的本地方法是调用dispatchEvent
.不幸的是,这种方法在jQuery’s source中没有出现.所以我猜你必须自己创建事件对象并手动发送它们.
$('button').click(function() {
var myEvent = document.createEvent('KeyboardEvent');
myEvent.initKeyboardEvent('keyup', true, true, null, false,
false, false, false, 76, 0);
$('input').each(function() {
this.dispatchEvent(myEvent);
});
});
或者你可以看看jQuery simulate plugin,这使它更容易一些.这是一个较短的版本,另一个工作example.
$('button').click(function() {
$('input').simulate('keyup');
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。