2011-12-14 79 views
3

我正在使用數據表插件來顯示一個表。在配置參數中,我設置了bJQueryUI : true,所以表格應用了我正在使用的當前jQuery UI樣式的樣式。在最後一列中,我添加了一些圖標來對行進行操作。問題是數據表的圖標和標題上的懸停事件僅適用於Firefox,Chrome或IE中的事件不會被觸發。jquery mouseenter mouseleave with datatables,不工作在鉻或IE

我正在使用的代碼是這樣的:

$('.ui-state-default').live({ 
    mouseenter: 
     function(){ $(this).addClass('ui-state-hover'); }, 
    mouseleave: 
     function(){ $(this).removeClass('ui-state-hover'); } 
}); 

回答

2

你有沒有在你的開發工具檢查您要懸停區域的元素的分層?您應該檢查項目的z-index,以確保.ui-state-default元素位於頂部。

另外,您應該更換.live().delegate()。它們是相似的,但你可以通過設置.delegate()根元素,並與.live()根元素始終是document元素:

$(<root element>).delegate('.ui-state-default', 'mouseenter', function() {...}).delegate('.ui-state-default', 'mouseleave', function() {...}); 

.live()現在已經貶值在jQuery 1.7。有一個新功能的jQuery 1.7的稱爲.on()和它做同樣的事情都.bind().delegate()根據所使用的語法:http://api.jquery.com/on

+0

謝謝!這是我正在尋找的解決方案。 – arlievanos 2011-12-14 18:43:49