2011-02-27 63 views
0
<div align="right" style="border:1 #FF0 solid; background-color:#999" onMouseOver="javascript: function(){this.style.backgroundColor = '#DDD';}" onMouseOut="javascript: function(){this.style.backgroundColor = '#999';}"> 
Register 
</div> 

當鼠標懸停事件觸發時,它給出了這樣的錯誤:如何定義函數內的onMouseOver和onmouseout

Uncaught SyntaxError: Unexpected token (

我該怎麼辦?我想定義內onMouseOveronMouseOut功能

回答

5

不要使用function聲明,只是做:

onMouseOver = "this.style.backgroundColor = '#DDD';" 

和:

onMouseOut = "this.style.backgroundColor = '#999';" 

順便說一句,你應該考慮unobstrusive javascript

+0

我知道,但我只是想嘗試不同的東西:),這看起來比調用一個函數更有效;) – 2011-02-27 09:57:14

1

爲什麼你想在你的場景中的功能?你可以只使用..

的onmouseout = 「JavaScript的:this.style.backgroundColor = '#999'」>

0

您可以定義外部JavaScript方法,它接受必要的參數,使用這個方法好元素:

<script language="javascript" type="text/javascript"> 
function OnMouseDownEventHandler(sender) { 
    sender.style.backgroundColor = '#DDD'; 
} 
</script> 

<div onmousedown="OnMouseDownEventHandler(this);"></div> 
+0

不,我不想調用一個函數 – 2011-02-27 10:03:55

1

你應該看看jQuery和使用不顯眼的JavaScript。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> 

這就是你需要的一切,它會將jQuery庫從Google中提取出來。

然後你可以有一個外部樣式表來處理你想要做的事情。

<div id="container"> Register </div> 

,那麼你需要創建一個外部樣式表如app.css:

#container {border:1 #FF0 solid; background-color:#999;text-align:left;} 

再比如app.js

$('#container').mouseout(function() { 
    $('#container').css('backgroundColor', '#DDD') 
}); 

不要你可以有一個外部腳本t忘記將外部css和js鏈接到頁面。外部樣式表需要鏈接到jQuery腳本之後。

http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js 
<script src="app.js" type="text/javascript"></script> 
<link rel="stylesheet" type="text/css" href="app.css"> 

您可以編輯腳本,當鼠標確實的東西添加更多的功能:

$('#container').mouseout($('#container').css('backgroundColor', '#DDD')) 
$('#container').mouseover($('#container').css('backgroundColor', '#DDD')) 
$('#container').mouseenter($('#container').css('backgroundColor', '#DDD')) 
$('#container').mouseup($('#container').css('backgroundColor', '#DDD')) 

有主題的整體轉換在這裏:http://api.jquery.com/category/events/mouse-events/

1

你爲什麼不只是使用CSS?

元素:懸停(){

}

或者是JS的功能,您需要與BG只是一個例子......在這種情況下,你可以得到一個簡單的結果與jQuery $(「#element」)。mouseover(function(){ $(this)。addClass( 「bghover」); }); (「#element」)。mouseoutfunction(){ $(this).removeClass(「bghover」); });

相關問題