0
我已經瀏覽了類似標題的大量問題,並且不能在我的生活中弄清楚發生了什麼。我有一個使用KnockoutJS + jQuery的系統,它將填充一個列表並將一個類添加到一個懸停列表中,該列表將在另一個函數的地圖上突出顯示它。jQuery懸停事件不符合UL標準?
這裏是我的HTML:
<ul data-bind="foreach: markers" class="locationListMain">
<ul class="locationList">
<h3 class="resultTITLE">
<span data-bind="text: title"></span>
</h3>
<p class="resultLATLONG">
LAT
<span data-bind="text: lat"></span>
, LONG
<span data-bind="text: lng"></span>
</p>
</ul>
</ul>
夠簡單。現在我想通過jQuery調用懸停事件上.locationList
像這樣:
$('.locationList').hover(function(){
console.log('hovering');
$(this).addClass('active');
}, function() {
console.log('not hovering!');
$(this).addClass('active');
});
但我不能得到任何火災。奇怪的是,如果我刪除.locationList
元素,並將該類添加到最高級別<ul>
,它可以毫無問題地工作。我想知道這是否是一個CSS問題,但我也不能指出這一點。已經沒有喜悅地將它移到頂部z索引。思考?將不勝感激任何幫助或見解。謝謝!
這可能意味着您在運行時在DOM中可用之前將懸停事件偵聽器綁定到'.locationList'。當你的JS被執行並且該元素尚不可用時,那麼你將懸停事件綁定到由選擇器返回的空集。你應該在元素被渲染時執行這個綁定,或者在父節點上使用事件冒泡(即'$ someParent.on('mouseenter','.locationList',function(){...})')這是在運行時出現的。 – Terry
在$(document).ready下移動這個函數就完成了。萬分感謝! – IkeDoud