2009-12-29 111 views
1
鏈接

我一直在嘗試調度在Firefox事件和事件注意到,派遣一個鏈路上的鼠標懸停事件不會導致它的風格改變,在定義:懸停 CSS類。調度'click'事件會將鏈接樣式更改爲:活動。這種行爲的任何原因,或者我在我的代碼中做錯了什麼?調度「鼠標懸停」在Firefox中

var myElement = document.getElementById("myLink"); 
var ev = document.createEvent("MouseEvents"); 
ev.initMouseEvent("mouseover", canBubble, cancelable, view, 
        detail, screenX, screenY, clientX, clientY, 
        ctrlKey, altKey, shiftKey, metaKey, 
        button, relatedTarget); 
myElement.dispatchEvent(ev); 

如果事件類型是點擊它將執行事件,改變EV的風格,以一個定義‘:激活’僞類。

我想製作一個腳本,可以記錄屏幕上的事件,然後播放它們。

更新:找到DejaClick爲Firefox。將鼠標懸停在下拉式菜單上可以正常工作。

+1

請提供一些代碼,這是很難幫助你沒有更多的信息 – marcgg 2009-12-29 09:54:29

+0

添加的代碼。希望有所幫助。 – Abhinav 2009-12-30 11:12:21

回答

0

那麼從我的理解,你正在使用java腳本來改變佈局/顯示。爲什麼不讓CSS做所有的工作?如果可以,只需使用:hover類。不過,我認爲你正試圖完成一些非基於樣式的東西。所以...也許你應該看看jQuery的hover event。或者可能像this

+0

感謝您的回答。是的,我正在嘗試使用JS更改佈局/顯示,但是在稍後時間。 – Abhinav 2009-12-30 11:17:59

0

您可以使用jQuery並根據需要操作鏈接,您可以更改css,文本,位置,隱藏,添加效果以及根據需要進行操作。

例如:如果你想操作以同樣的方式

$("a").hover( 
    function() { //this function is executed on every link 
    $(this).css('color','red')); //add css atributes (see css documentation) 
    $(this).animate({ width:"90%"}, 1000) //add efects (see efects documentation) 
    },  
); 

你也可以操縱鏈接atributes所有鏈接,並做了很多事情吧。 在jQuery文檔中,您可以找到各自的工作示例,jQuery docs(請參閱jQuery API參考)。

如果您不想在每個鏈接上的懸停上運行事件,則可以將其綁定到所需的鏈接。 例子:

//bind hover event to every link that match that id 
$('#id_of_links').hover(function() { //manipulation }); 
//bind hover event to every link that match that css class 
$(".myClass").hover(function() { //manipulation }); 
//bind hover event to every link by the text 
$("a:contains('link_to_capture')").hover(function() { //manipulation }); 

而且有很多的方法來選擇你要操作的鏈接,看到在jQuery的文檔中的選擇部分。