首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery事件被调用了两次- dropkick.js

问jquery事件被调用了两次- dropkick.js
EN

Stack Overflow用户
提问于 2014-08-27 07:50:53
回答 2查看 198关注 0票数 0

因此,我遇到了一个问题,我有一个下拉列表,然后使用dropkick.js创建它。(我只是在学习dropkick.js,所以我现在在想我误解了什么。)

问题

当我绑定一个事件时,如下所示

代码语言:javascript
复制
$('.pizza_size').on('change', 'select[name=pizza_size]', function() {
    alert(this.value);
});

警报被叫了两次。

小提琴在这里

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

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

  • 最初的html/脚本类似于这个小提琴在这里,它创建了两个下拉列表(虽然它们似乎与无关),这是我用代码<select>...</select>创建的一个,以及dropkick.js用class=dk_container dk_theme_default类创建的一个。因此,我评论这个html以避免这种情况(在第一位),但它似乎仍然存在2选择下拉!
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-27 08:27:57

我想我发现了一个问题:

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

代码语言:javascript
复制
$select.trigger('change');
$select.val(value).trigger('change');

在这里注释第一行

代码语言:javascript
复制
$select.trigger('change'); // comment this line in your dropkick.js file

试一试。“警报叫了两次。”这个会修好的。

票数 2
EN

Stack Overflow用户

发布于 2014-08-27 08:52:55

您可能只需使用文档化的API的下拉列表。

代码语言:javascript
复制
$(function () {
    $('.default').dropkick({
        change: function () {
            alert("You selected " + $(this).val() + " for " + this.id + ".");
        }
    });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25521674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档