2013-10-25 47 views
0

我有一個函數執行的onclick:多功能的JavaScript停止其他如果警報取消

function delete_image() { 
     //alert; 
     var result = confirm('Are you sure you want to delete this item?'); 
     if(result) { ....delete the image.... } 
     } 

function new_image() { ....Do SOmething.... } 

然後我打電話,通過

<a onclick="setNewUploadOnDelete()">Delete</a> 

我需要,如果delete_image功能的「警報」是「取消「那麼就停止第二個功能。我嘗試下面的代碼,但不工作。

function setNewUploadOnDelete() { 
var retvalue; 
retvalue = delete_image(); 
if(retvalue == false) { return retvalue; } 
return = new_image(); 
} 

請問有什麼建議嗎?我們使用Conditional Statements

function setNewUploadOnDelete() { 
    return delete_image ? new_image() : false; 
} 

這裏:

+0

您不能暫停執行代碼。你只能「跳轉」到另一個代碼。這就是電腦的工作方式。你的delete_image()應該只是創建一個問題面板,而當用戶按下確認按鈕時,刪除將在另一個功能中完成。 –

回答

1

setNewUploadOnDelete可重構來。這很簡單,你可能不需要一個功能來做到這一點。

另一方面,使用onclick來觸發JavaScript的表現通常不是一個好主意,因爲它的性能和關注點分離。請閱讀adding event listeners

+1

哈哈我喜歡你的方式更好。 – Deryck

+0

這很簡單,很好。不過,我需要retvalue來做到這一點。 –

+0

如果delete_image爲true,則函數返回'new_image()',否則返回'false'。 – SomeKittens