2014-10-31 45 views
-1

我有這段代碼......它在Google chrome上運行良好,但是Firefox和EI以及Safari一直在不斷彈出警報。我應該添加什麼來確保警報只會發生一次。此代碼適用於Chrome,但不適用於Firefox和IE或Safari,我該如何解決?

<html> 
    <script language="JavaScript"> 
     <!-- 

     document.onclick = myClickHandler; 


     function myClickHandler() { 
      alert("All orders require minimum two weeks notice before your event"); 
     } 
     --> 

     $(function() { 
      $(document).on('click.once', function() { 
       alert("Thank you for your visit. Happy shopping!!"); 
       $(document).off('click.once'); 
      }) 
     }); 
    </script> 

</html> 
+2

怎麼樣用一個()? – 2014-10-31 14:57:41

+0

創建一個全局變量(在函數之外)並將其設置爲0,一旦單擊將其設置爲1,然後測試該變量是否大於0,則不要執行警報。我認爲只有Chrome能夠理解「click.once」事件。 – 2014-10-31 14:58:02

+1

@RocKhalil命名空間事件在所有瀏覽器上受支持 – 2014-10-31 14:59:12

回答

1
$(function() { 
     $(document).on('click', function() { 
      alert("Thank you for your visit. Happy shopping!!"); 
      $(document).unbind('click'); 
     }) 
    }); 
+0

謝謝。我實際上試過這個選項,但由於某種原因,警報不斷彈出在每次點擊在Firefox中...即ie ...在鉻仍然工作正常。我不確定會出現什麼問題...... – Carlos 2014-10-31 20:23:52

+0

也許你應該使用/ * * /安裝。第一個會一遍又一遍地彈出警報,而第二個可以在我的safari firefox和chrome上正常工作 – thesadabc 2014-11-01 07:51:27

相關問題