javascript - jquery 事件被调用两次 - dropkick.js

标签 javascript jquery jquery-dropkick

所以我遇到了这个问题,我有一个下拉菜单,然后我使用 dropkick.js 创建它。 (我刚刚学习 dropkick.js 所以我现在认为我误解了一些东西。)

问题

当我像这样绑定(bind)更改事件时

$('.pizza_size').on('change', 'select[name=pizza_size]', function() {
    alert(this.value);
});

警报被调用两次。

Fiddle here

我最初的问题是选择下拉列表是动态更改的,因此 $(".default").dropkick();不再适用,所以我在上面创建了这个动态选择器。 (如果有比这更好的动态绑定(bind)调用的方法,请告诉我们!:D)

有用信息:(基于我的一些调试)

  • 最初的html/脚本是这样的fiddle here它创建了两个下拉菜单,(尽管它们似乎不相关)我用代码 <select>...</select> 创建的一个dropkick.js 使用 class=dk_container dk_theme_default 创建类(class)。所以我评论了这个html以避免这种情况(在第一个 fiddle 中),但它似乎仍然存在2个选择下拉菜单!

最佳答案

我想我发现了问题:

在 dropkick.js 插件中,您选择触发了两次。 在您的插件中搜索这些行

$select.trigger('change');
$select.val(value).trigger('change');

在这里评论第一行

$select.trigger('change'); // comment this line in your dropkick.js file

并尝试。 “警报被叫了两次。”这将被修复。

关于javascript - jquery 事件被调用两次 - dropkick.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25521674/

相关文章:

javascript - 遍历 jQuery 中的 var 链式变量数组

javascript - jquery while 循环运行太快 - 如何添加等待

jquery - 当我将 Dropkick 或 MultiSelect 插件添加到 Select 元素样式中时,更改功能停止工作

jquery - dropkick js和 body 背景错误

javascript - 在几个字符之一的第一个实例之后删除所有内容

javascript - 使用 print.css 样式表删除打印时出现的元素

javascript - div 类的多个 ajax 响应

javascript - 如何自动用文本填充文本字段

jquery - 如何重新加载 jquery dropkick 对象

javascript - 更改 HTML 中选定区域的背景颜色/不透明度