Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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_Backbone.js - Fatal编程技术网

Javascript 单击在另一个函数中定义的事件,但在视图中触发时,它将进入主干上的循环

Javascript 单击在另一个函数中定义的事件,但在视图中触发时,它将进入主干上的循环,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我在头文件上有一个按钮,打开一个弹出窗口,我正在使用主干生成视图。问题是,在其中一个视图中,我有一个按钮,我希望它具有完全相同的事件,但当它被触发时,它进入一个无限循环,我真的不明白为什么 下面是标题按钮的单击事件: $(function() { ..... $dnaBtn.on('click', function() { var $overlay = $('div.overlay#dnaForm'), $activePane = $('div.pane.active',

我在头文件上有一个按钮,打开一个弹出窗口,我正在使用主干生成视图。问题是,在其中一个视图中,我有一个按钮,我希望它具有完全相同的事件,但当它被触发时,它进入一个无限循环,我真的不明白为什么

下面是标题按钮的单击事件:

$(function() {
.....
$dnaBtn.on('click', function() {
    var $overlay = $('div.overlay#dnaForm'),
        $activePane = $('div.pane.active', $lightbox),
        $eq = $activePane.index(),
        $shape = $('.shape img').eq(0),
        $shapeActive = $('.shape .active'),
        $torso = $('.torso .shape img').eq(0),
        $torsoActive = $('.torso .shape .active');
        console.log('d');
    $lightbox.fadeIn(300, 'easeInOutCubic', function() {
        var $ticks = $('div.tick', $pane.first()),
            $count = 0;
.....
景色

var EndTourView = Backbone.View.extend({
    el: "#ism-tour",
    events:{
        "click a.dna-btn":"showsmth"
    },
    initialize:function(){
        this.$el.html('');
        this.render();
    },
    render:function(){
        var template = Handlebars.compile($("#end-tour-template").html());

        this.$el.html(template());

        return this;            
    },
    showsmth:function(){

        var $lightbox = $('div.lightbox'),
        $padding = $('div.overlay#dnaForm div.padding', $lightbox),
        $animator = $('div.animator', $padding),
        $pane = $('div.pane', $animator);
        console.log('dddd')
        $(".dna-btn").click();
    }


});

提前感谢

当您单击.dna btn时调用函数showsmth,然后在showsmth中单击.dna btn。这将再次调用函数,并在无限循环中不断重复


如果它们是两个不同的.dna btn是
$(“.dna btn”)。单击()
在.dna btn的每个实例上调用click事件。如果是这样的话,你就得叫他们不同的名字。

这很明显。。。重命名主干事件触发器,它现在正在工作。谢谢