jQuery Change() 不触发原型(prototype)事件处理程序

标签 jquery prototypejs dom-events

我有一个现有的原型(prototype)代码库,可以对选择框更改进行操作...

我已经使用 jQuery 生成(样式化的)无序列表,并且我希望将该列表的点击代理到我的选择框...这一切都工作正常(在选择框上调用 val()),但即使我在选择框上显式调用 change() ,原型(prototype)也不会接受这些更改...有人知道发生了什么吗?

我可以发布一堆代码,但它们都是非常基本的,我认为唯一相关的部分是:

parent_obj.val(selected_idx).change();

这确实会更改我的选择框中所选的项目,但不会触发我的原型(prototype)事件处理程序。

编辑:

可能会有一个关于使用触发器()等的答案......这似乎也不起作用:

parent_obj.val(selected_idx).click().change().trigger('click');
parent_obj.find('option value[' + selected_idx + ']').click().change().trigger('click');

最佳答案

我最终按照此答案的建议使用了原型(prototype) Event.simulate ;

Trigger an event with Prototype

关于jQuery Change() 不触发原型(prototype)事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5351442/

相关文章:

javascript - jQuery 与其他库冲突

Prototype 中 JQuery 的 getScript 等效项

javascript - 缩短了 Prototype 中许多按钮的代码

javascript - 如何在维护 DRY 代码的同时运行依赖于 js 事件的 coffeescript 方法?

javascript - 具有命名函数的 window.removeEventListener 不起作用

javascript - 带有CSS计数器的jQuery select元素

c# - C# ASP.NET 的级联下拉菜单

javascript - 原型(prototype)和 Ajax.Request 范围

javascript - 输入输入时检查 INSERT 模式是否打开

javascript - 在 DOM 上移动输入时将光标保持在 html 输入中