2012-04-27 112 views
0

這是我與嵌入式JS使用Javascript - 如何停止執行

<a style="padding: 5px;" onclick="confirm_message(); $('contact_693_').show(); $('errors_693_').hide(); this.hide(); $('dont_693_').show();; return false;" id="the_link_693_" href="#" class="add_someone_else">Check it out</a> 

這裏是我的功能

function confirm_message(){ 
     var response = confirm("Are you sure?"); 
    if(response){ 
     return false; 
    }else{ 
      return false; 
     } 
} 

基本上我不希望任何其他JS的火,如果鏈接用戶點擊確認中沒有....但所有其他javascript

$('contact_693_').show(); $('errors_693_').hide(); this.hide(); $('dont_693_').show();; return false;" 

仍會觸發用戶是否單擊是或否確認......就如何解決這一問題的任何想法....

而且此嵌入式JS不是由我創建,是建立與紅寶石在頁面上...

+0

你能後產生這個Ruby代碼?它是Rails嗎? – andrewdotnich 2012-04-27 01:49:29

+0

是的......一秒.. – Trace 2012-04-27 01:53:27

回答

3

拋出一個錯誤,這樣:

function confirm_message(){ 
    var response = confirm("Are you sure?"); 
    if(response){ 
     return false; 
    }else{ 
     throw new Error("Chuck Norris roundhouse kicked your JS, sorry."); // or something a little more descriptive 
    } 
} 

這不是很漂亮,但它應該停止所有未來的JS處理。

+0

怎麼會拋出一個錯誤幫助用戶....我只是想關閉盒子和其他js不能射擊。 – Trace 2012-04-27 01:56:51

+2

@Matt:拋出一個錯誤會導致頁面上的所有其他Javascript停止執行。這包括'其他js'。 – 2012-04-27 01:57:41

+0

啊......沒想到......謝謝 – Trace 2012-04-27 02:03:00

2

包括在確認功能代碼:

function confirm_then_execute(){  
    var response = confirm("Are you sure?");  
    if(response){ 
     $('contact_693_').show(); $('errors_693_').hide();this.hide(); $('dont_693_').show();return false;" 
    } 
    else{  
     return false;  
    } 
} 

HTML:

<a style="padding: 5px;" onclick="confirm_then_execute()" id="the_link_693_" href="#" class="add_someone_else">Check it out</a>     
+0

我不能這樣做,因爲我沒有那些div id和class在js level – Trace 2012-04-27 01:55:29

+0

如何將id作爲參數傳遞:confirm_then_execute(id1,id2)? – Christophe 2012-04-27 02:01:26

+0

這可能是一個乾淨的方式 – Trace 2012-04-27 02:03:15