Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery事件被调用了两次-dropkick.js_Javascript_Jquery_Jquery Dropkick - Fatal编程技术网

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

Javascript jquery事件被调用了两次-dropkick.js,javascript,jquery,jquery-dropkick,Javascript,Jquery,Jquery Dropkick,所以我有一个问题,我有一个下拉列表,然后我用dropkick.js创建它。(我只是在学习dropkick.js,所以我现在想我误解了一些东西。) 问题 当我像这样绑定更改事件时 $('.pizza_size').on('change', 'select[name=pizza_size]', function() { alert(this.value); }); 警报被调用两次 我最初的问题是select下拉列表是动态更改的,因此$(“.default”).dropkick()不再应用

所以我有一个问题,我有一个下拉列表,然后我用dropkick.js创建它。(我只是在学习dropkick.js,所以我现在想我误解了一些东西。)

问题

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

$('.pizza_size').on('change', 'select[name=pizza_size]', function() {
    alert(this.value);
});
警报被调用两次

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

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

  • 最初的html/脚本是这样的,它创建了两个下拉列表,(尽管它们似乎不相关),一个是我用code
    创建的…
    ,另一个是dropkick.js用
    class=dk_容器dk_主题默认值
    类创建的。所以我对这个html进行了注释以避免出现这种情况(在第一小提琴中),但它似乎仍然存在2个选择下拉列表
      我想我发现了问题:

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

      $select.trigger('change');
      $select.val(value).trigger('change');
      
      在这里评论第一行

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

      试试看。“警报被调用两次。”这将得到修复。

      我想我发现了问题:

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

      $select.trigger('change');
      $select.val(value).trigger('change');
      
      在这里评论第一行

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

      试试看。“警报被调用两次。”这将得到修复。

      我想我发现了问题:

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

      $select.trigger('change');
      $select.val(value).trigger('change');
      
      在这里评论第一行

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

      试试看。“警报被调用两次。”这将得到修复。

      我想我发现了问题:

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

      $select.trigger('change');
      $select.val(value).trigger('change');
      
      在这里评论第一行

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

      试试看。“警报被调用两次。”这将得到修复。

      您可能只需要使用dropkick

      $(function () {
          $('.default').dropkick({
              change: function () {
                  alert("You selected " + $(this).val() + " for " + this.id + ".");
              }
          });
      });
      

      你也许应该简单地使用dropkick

      $(function () {
          $('.default').dropkick({
              change: function () {
                  alert("You selected " + $(this).val() + " for " + this.id + ".");
              }
          });
      });
      

      你也许应该简单地使用dropkick

      $(function () {
          $('.default').dropkick({
              change: function () {
                  alert("You selected " + $(this).val() + " for " + this.id + ".");
              }
          });
      });
      

      你也许应该简单地使用dropkick

      $(function () {
          $('.default').dropkick({
              change: function () {
                  alert("You selected " + $(this).val() + " for " + this.id + ".");
              }
          });
      });
      


      您的小提琴不起作用,因为您添加了js文件,该文件有一个开发路径,您需要用活动路径删除该开发路径。@Yunus现在应该可以工作了:我正在尝试解决这个问题。。我为测试创建了另一个提琴。您的提琴不起作用,因为您添加了具有开发路径的js文件,您需要用活动路径删除开发路径。@Yunus现在应该可以工作了:我正在尝试解决此问题。。我为测试创建了另一个提琴。您的提琴不起作用,因为您添加了具有开发路径的js文件,您需要用活动路径删除开发路径。@Yunus现在应该可以工作了:我正在尝试解决此问题。。我为测试创建了另一个提琴。您的提琴不起作用,因为您添加了具有开发路径的js文件,您需要用活动路径删除开发路径。@Yunus现在应该可以工作了:我正在尝试解决此问题。。我已经创建了另一个用于测试的小提琴。这就是我所拥有的,但是如果我动态创建一个
      。默认的
      元素,这将不起作用。这是一个参数。我想这是正常的。我把双重调用
      change
      事件归类为一个bug。问题是我刚刚把项目(现在大约一个月)完成了一半,所以我不知道前一个家伙是否更改了dropkick.js。另外,我使用的是一个非常旧的库版本,所以我不认为(如果它曾经存在的话)它仍然存在:)。感谢您的时间:DI只是想知道您是否可以使用旧版本,因为在当前版本中找不到有问题的行。我劝你升级。代码中的不兼容可能比dropkick源代码中的bug更容易修复。是的,升级似乎是明智之举。我只是希望在功能上没有太多的差异,所以这将是一个简单的转换:)这就是我所拥有的,但是如果我动态创建一个
      .default
      元素,这将不起作用,这是一个参数。我想这是正常的。我把双重调用
      change
      事件归类为一个bug。问题是我刚刚把项目(现在大约一个月)完成了一半,所以我不知道前一个家伙是否更改了dropkick.js。另外,我使用的是一个非常旧的库版本,所以我不认为(如果它曾经存在的话)它仍然存在:)。感谢您的时间:DI只是想知道您是否可以使用旧版本,因为在当前版本中找不到有问题的行。我劝你升级。代码中的不兼容可能比dropkick源代码中的bug更容易修复。是的,升级似乎是明智之举。我只是希望在功能上没有太多的差异,所以这将是一个简单的转换:)这就是我所拥有的,但是如果我动态创建一个
      .default
      元素,这将不起作用,这是一个参数。我想这是正常的。我把双重调用
      change
      事件归类为一个bug。问题是我刚刚把项目(现在大约一个月)完成了一半,所以我不知道前一个家伙是否更改了dropkick.js。另外,我使用的是一个非常旧的库版本,所以我不认为(如果它曾经存在的话)它仍然存在:)。感谢您的时间:DI只是想知道您是否可以使用旧版本,因为在当前版本中找不到有问题的行。我劝你升级。代码中的不兼容可能比dropkick源代码中的bug更容易修复。是的,升级似乎是明智之举。我只是希望在功能上没有太多的差异,所以这将是一个简单的转换:)这就是我所拥有的,但是如果我创建一个