Niceforms 和 jQuery 事件
我们的设计机构提供了使用 NiceForms 的 HTML。我遇到的问题是这搞乱了 jQuery 事件绑定。
我有以下代码:
keys = $("#key input");
$(keys).each(function(){
$(this).change(function() {
console.log("hi");
});
});
如果我禁用 NiceForms,则此代码可以工作,但启用 Niceforms 后,它就不能工作。我该如何解决这个问题?
Our design agency has supplied HTML that uses NiceForms. The problem I am having is that this mucks up jQuery event binding.
I have the following code:
keys = $("#key input");
$(keys).each(function(){
$(this).change(function() {
console.log("hi");
});
});
If I disable NiceForms this code works but with Niceforms enabled it doesn't. How do I get around this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
修复代码中的拼写错误,看看它是否有效:
我使用 NiceForms 演示进行了测试:
选择器
keys = $(".niceform input");
修复拼写错误后,它的工作原理如下预期的。您将代码封装在$(document).ready(function () {}
处理程序中,对吧?#key
是包含表单输入的元素的正确选择器元素,对吗?Fix the typo in your code, see if it works then:
I tested with the NiceForms demo using:
And the selector
keys = $(".niceform input");
and after fixing the typos it works as expected. You are enclosing the code in a$(document).ready(function () {}
handler, right?#key
is a proper selector for an element enclosing the form input elements, right?好吧,事实证明问题是单击 Niceforms 图像时不会引发底层复选框的 onchange 事件。
要引发底层事件,请在 NiceForms.js 中找到 inputCheck 函数并更改以下内容(假设您使用的是 jQuery):
Ok it turned out that the problem was that the Niceforms image when clicked does not raise the onchange event of the underlying checkbox.
To raise the underlying event find the inputCheck function in NiceForms.js and alter the following (this assumes you are using jQuery):