Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 多次调用函数_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript 多次调用函数

Javascript 多次调用函数,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我有一个清单HTML结构如下 <li class="game-box showlist" id="papp_1249" data-tag="Junior KG,Maths"> <div class="game-box-link" data-id="1249" data-active="yes" data-orientation="landscape" data-ajax="false" data-url="http://totsmart.in

我有一个清单HTML结构如下

<li class="game-box showlist" id="papp_1249" data-tag="Junior KG,Maths">
  <div class="game-box-link" 
       data-id="1249" data-active="yes" data-orientation="landscape" 
       data-ajax="false" data-url="http://totsmart.in/scale_concept" 
       data-transition="none">

    <img src="http://example.com/abc.jpg" class="game-thumb">
  </div>
  <div class="game-title">
    <div class="btn-container">
      <a href="#login" class="box-btn4">
        <img src="css/assets/Login.png">
      </a>
      <div class="box-btn4 price-btn">
        //clicking this using trigger
        <span class="game-price buy" data-id="">Free</span>
      </div>
      <span class="sm_box-btn expand">
            <img src="css/assets/drop.png">
        </span>
      <div data-id="1249" data-active="yes" data-orientation="landscape" 
           data-ajax="false" data-url="http://example.in/scale_concept" 
           data-transition="none" class="game-box-play-link sm_box-btn">

        <img src="css/assets/Play.png">
      </div>
    </div>
    <div class="game-content">
      <p><strong>Subject</strong>: Maths
        <br>
        <strong>Class</strong>: KG – KG – Junior &amp; Senior
        <br>
        <strong>Description</strong>
        <br>Drag and drop objects to one out of the two empty boxes and practice the scale concepts like – Big-Small, Fast-Slow, Tall-Short etc.
      </p>
    </div>
  </div><span class="game-box-title">Scale concepts</span>
</li>
我的问题是,当我第一次点击游戏盒链接时,如果我第二次点击游戏盒链接时,我就调用了一次游戏盒链接。我只需要给它打一次电话。我哪里做错了

这是我的控制台日志的屏幕截图。您可以看到它燃烧7次:


添加
e.stopPropagation()到您的函数

$("body").on('vclick', '.game-box-link, .game-box-play-link', function (e) {
    e.preventDefault();
    e.stopPropagation();
    var application_id = $(this).data('id');
    console.log('game-play-clicked');
    check_app(application_id, this);
});

check_app(application_id, this)
{
      alert('clicked');
}

子对象上的单击事件也发生在父对象上,这就是事件被多次触发的原因。

不,我没有循环它。
不能被接受为
参数
。您的函数应该类似于
函数检查应用程序(应用程序id,\u this){alert('clicked');}
函数开始
。如果您通过调用某个函数绑定
vclick
事件,那么它可能每次都注册一个新的
vclick
。提供一个可以复制它的小提琴…父元素是
li
,您确定它正在发生吗?仍然多次触发更新了我的问题。请看它是由于触发。请看一看
$("body").on('vclick', '.game-box-link, .game-box-play-link', function (e) {
    e.preventDefault();
    e.stopPropagation();
    var application_id = $(this).data('id');
    console.log('game-play-clicked');
    check_app(application_id, this);
});

check_app(application_id, this)
{
      alert('clicked');
}