2017-09-08 50 views
0

更改電話fnChange後的onclick參考js函數內部動態

<html> 
 
<script> 
 
function fn1(event) 
 
{ 
 

 
alert("in fn1"+event.id); 
 
} 
 

 
function fn2(event) 
 
{ 
 

 
alert(event.id); 
 
} 
 

 
function fnChange(event) 
 
{ 
 
alert(event.id +" "+event.name); 
 
event.onclick=fn1; 
 
//without passing parameter ,the code works.I dono how to change the reference to fn1 along with the variable passed 
 
    
 

 
} 
 
</script> 
 
<body> 
 
<button id="b1" name="b1Name" onclick="fnChange(this);">The time is?</button> 
 

 

 
</body> 
 

 
</html>

我想,每一個點擊按鈕應該與buttonReference作爲參數傳遞沿打電話FN1。

感謝和問候, 溼婆RV

回答

0

只需使用一個封閉(如布爾firstClickDone)來檢測,如果第一次點擊已經做

<html> 
<script> 

var firstClickDone = false; 

function fn1(event) 
{ 

alert("in fn1"+event.id); 
} 

function fn2(event) 
{ 

alert(event.id); 
} 

function fnChange(event) 
{ 

if(firstClickDone){ 
    fn1(event); 
} 
else{ 
    alert(event.id +" "+event.name); 
    firstClickDone = true; 
} 

} 
</script> 
<body> 
<button id="b1" name="b1Name" onclick="fnChange(this);">The time is?</button> 


</body> 

</html> 
+0

你好,我想改變參考。我的意思是在b1按鈕被點擊一次之後,它不應該調用函數fnChange,否則它應該調用函數fn1。 –

0

下面是示例代碼,你可以存儲事件在一個變量ID並通過參數來獲取你的價值的事件:

<script> 
 
function fn1(event) 
 
{ 
 

 
alert("in fn1"+event); 
 
} 
 

 
function fn2(event) 
 
{ 
 

 
alert(event.id); 
 
} 
 

 
function fnChange(event) 
 
{ 
 
alert(event.id +" "+event.name); 
 
var temp=(event.id +" "+event.name); 
 
fn1(temp); 
 
//without passing parameter ,the code works.I dono how to change the reference to fn1 along with the variable passed 
 
    
 

 
} 
 
</script> 
 
<body> 
 
<button id="b1" name="b1Name" onclick="fnChange(this);">The time is?</button> 
 

 

 
</body>

+0

你好,我想改變參考。我的意思是在b1按鈕被點擊一次之後,它不應該調用函數fnChange,否則它應該調用函數fn1 –