在两个功能之间切换

时间:2014-07-18 20:41:12

标签: javascript d3.js

我打算在两个函数之间切换,方法是让另一个按钮将trigger的值设置为1并让第二个函数运行。但它似乎并没有起作用。解决方案是什么?

<input type="button" value="Intersection Nodes" id="intersection" onclick="triggerbutton();">

var trigger=0;

function triggerbutton(){
       trigger=1;
}

node.on("click", function() { 
                if(trigger==0){
                    clickNode;
                }
                if(trigger==1){
                    clickNodeSpecial;
                }

3 个答案:

答案 0 :(得分:1)

我不熟悉d3.js,但这就是我用jQuery / javascript做的方式:

jsfiddle demo

http://jsfiddle.net/joelns/bh1b40vb/3/

HTML

<button href='#' id='click_me'>Toggle Me</button>

的javascript

var toggleDemo=function(){
var status=true;    
jQuery('#click_me').click(function() {

    onOff($(this));


    });

function onOff(el){
             /*
             * toggle
             */
            status = (status ? false : true);

            status
                    ? el.html('on')
                    : el.html('off');
}
}

toggleDemo();

答案 1 :(得分:0)

您可以将其与jPepper或首选库一起使用:

var trigger = 0;

_("#tb").on("click", function(e) {
    trigger = trigger == 0 ? 1 : 0;
});

_("#nb").on("click", function(e) {
    if (trigger == 0) 
        alert("trigger is 0");
    else
        alert("trigger is 1");        
});

Example on jsfiddle

答案 2 :(得分:0)

如果您要使用jQuery将click事件绑定到您的节点,只需通过jQuery将另一个click事件绑定到您的按钮。

var trigger = 0;

$('#intersection').click(function(){
    trigger = 1;
});

$(node).click(function(){
    if( trigger ) {    
        //trigger = 1 function
    } else {    
        //trigger = 0 function    
    }
});