2016-05-10 35 views
0

我用这样的代码:分配的onclick函数与静态值

<div id="div2" onclick="alert(0)" >On click must return 2</div> 
<div id="div3" onclick="changeClick(2);">On Click change return of DIV2 click to 2</div> 

function changeClick(i){ 
document.getElementById('div'+i).onclick = function(){alert(i)}; 
i=9; 
} 

,但我想在点击2响应,而不是9,如:

document.getElementById('div'+i).onclick = function(){alert(2);}; 

(I = 9)可以模拟我的真正功能的实际情况,becouse(I)增量改变许多div的循环。 是不可能使用if或switch stantement

+0

你能详细说一下吗? –

+0

@Malik确定,我发布了一个更简单的版本 – Ste

回答

0

据我理解你的问题的解决方案可能是

(function() 
{ 
    var i=1;  
    document.getElementById('div'+i).onclick = function(){alert(i);}; 
})(); 
i=9 

请检查下面 https://jsfiddle.net/ankurshah32/tawfdsk8/

+0

我发表了一个更简单的版本 – Ste

0

链接你可以使用一个“如果”语句在函数内部检查'i'的值,或者如果有多个要检查的值使用'switch'语句。

function changeClik(i) { 
    if (i === 2) { 
     document.getElementById('div' + i).onclick = function() {alert(2);} 
    } 
+0

你在开玩笑吗? – Ste

+0

啊!感谢您详细阐述您的代码。我可以看到,如果我的陈述不会对你有太大的帮助......对不起,我试了一下。 –