我試圖用jquery來引發自定義事件,但由於某種原因,我似乎無法啓動和/或捕獲它們。爲什麼我不能自定義事件?
我使用jstree插件創建文件夾的文件系統:
$('.filetree.global, .filetree.workspace').bind('select_node.jstree', function (event, data) {
alert('test ');
$(document).trigger('filePick').trigger('folderPick');
}).jstree({
/*stuff*/
});
再往下的代碼,我結合filePick和folderPick事件元素與特定的類,並告訴他們,提醒一個測試消息,只要他們趕上事件:
$('.folder-action').bind('folderPick', function(e, data) {
alert('test 2');
});
不幸的是,警報永遠不會被觸發,我不知道爲什麼。 jquery文檔對我來說似乎很清楚,我遵循另一個教程,這似乎也表明我的代碼應該可以工作,但它不是!哎呀!
「測試1」得到警報,但不是「測試2」。另外,我安裝了Eventbug(Firebug擴展),我可以看到我對filePick的綁定已註冊,這使我相信filePick和folderPick永遠不會被解僱。
+1爲''.event.trigger()'我不知道這是可能的,性感 – meo
@meo我不認爲它正式記錄在jQuery文檔中。如果有的話,我還沒有找到它(或者我會在我的答案中鏈接到它)如果你做一些谷歌搜索自定義全球jQuery事件,你會發現很多文章解釋它的用法,但是。 http://www.google.com/search?q=custom%20global%20jquery%20event –
謝謝,這正是我一直在尋找的。我正在考慮使用$ .event.trigger,因爲我的圖標具有要刷新的狀態,具體取決於所選的文件夾。非常感謝你! :) – Gazillion