我有一個點擊事件,我的動作導航到某個網址,然後顯示/隱藏一個按鈕是相關聯的。我使用的是這樣的:Jquery-如何處理事件作爲參數點擊功能
ViewManager.js
$("#btn").on("click", function(event){
window.location.href= '#test.html';
}
後,我打開這個網頁,我有一個按鈕,我需要表現取決於target.id隱藏(在這種情況下是。 btn
)。如果btn
是目標ID,我還隱藏按鈕i顯示按鈕,類似如下:
account.js
if (event.target.id == 'btn'){
$('#submit-account-detail').css('display', 'none');
else {
$('#submit-account-detail').css('display', 'block');
}
現在的問題是,鍍鉻處理的全球盛會完美,但Firefox拋出錯誤:
ReferenceError: event is not defined
在我導航到不同的URL之前,我將事件作爲參數傳遞。由於Firefox不能全局處理事件,它會引發錯誤。我嘗試查找源代碼,並且他們建議將事件作爲參數傳遞給click事件(已完成)。但在頁面導航之後,如何使事件可見?
編輯-------------------
我的確在ViewManager.js腳本是這樣的:$("#btn").on("click", function(event){ targetId = window.event; window.location.href= '#test.html'; }
,然後我測試條件在account.js腳本:
if (targetId && targetId === 'btn'){
$('#submit-account-detail').css('display', 'none');}
它工作正常時,它已經定義了目標ID,而是拋出一個ReferenceError: targetId is not defined
當它targetId != 'btn'
...我是個宣佈以錯誤的方式變種?
您的全球「事件」聲明在哪裏?您向我們展示的是一個函數參數,它是該函數的本地*。它決不可用於在不同的腳本文件中編碼。 – Bergi 2014-10-05 23:32:50
如何以及在哪裏可以申報一個?會這樣:window.event =''?? – user1234 2014-10-05 23:37:43
您是否正在導航到不同的_page_或當前頁面中的元素/定位點?如果它是一個不同的頁面,你不能通過一個JS變量來做到這一點,因爲即使是全局變量在當前頁面中也只是「活着」的。如果它在當前頁面內導航,爲什麼不能在原始點擊處理程序中顯示/隱藏按鈕? – nnnnnn 2014-10-05 23:38:38