2012-11-14 113 views
0

的參數值的方式。如果我有:jQuery的獲取自定義事件

blockRoutes = function (value) { 
     $('body').trigger('cantLeaveRoute', { val: value }); 
     return value; 
} 

除樣結合的回調:

this.bind('cantLeaveRoute', function() { 
     this.params['val'] === true ? nav.disableHeader() : nav.enableHeader()    
}); 

哪有我直接(不上面顯示的綁定)讀取當前參數的值?

沿下方的語法錯誤的東西線:你在觸發設置

$('body').data('events')['cantLeaveRoute'].val 
+1

的一部分,你是什麼意思?你爲什麼不想使用上面顯示的綁定?除了事件處理程序以外,「當前」值不會被存儲在任何位置。數據存儲在事件中,並且是動態的,只有在觸發時纔可訪問。當你調用'.trigger'然後'.bind'事件訪問該事件時,事件的數據不會存儲在某處。從技術上講,你可以將任何東西傳遞給'trigger',就像不同的數據類型一樣,'bind'可以基於這個來檢查。 – Ian

回答

2

的參數是事件

this.bind('cantLeaveRoute', function (event) { 
var value = event.data.val; 
value === true ? nav.disableHeader() : nav.enableHeader()    
}); 
+0

這不正是我以上寫作的方法即時通訊之後沒有? – XGreen

+2

從技術上講,這將是'event.data.val' – Ian

+0

抱歉修好了。 – toxicate20