2010-07-07 77 views
1
onmouseover="javascript:parent.DivColorHover(this)" 

我有一個動態創建值的div,我使用這個div作爲popup,因此它將用作下拉列表元素。 onMouseOver的每個值,我正在改變背景顏色在JavaScript中使用上述代碼行。我如何在jQuery中實現同樣的效果Javascript:父母在jquery

+1

首先:引號內不需要'javascript'。 'onmouseover'(和其他事件)期望JavaScript代碼位於引號內。 – peirix 2010-07-07 12:34:20

+0

這可能是有用的: http://visualjquery.com/ – NimChimpsky 2010-07-07 12:51:27

回答

6

讓我們先看看你使用的代碼。

javascript:協議不合適(它在代碼放入URL時使用),因此它只是成爲一個未使用的標籤。

父對象是對包含當前頁面所在的iframe的頁面的引用。由於您可能不在iframe中,而是在常規頁面中,因此它只是對當前頁面的引用。

因此,所有剩下的代碼實際上是:

onmouseover="DivColorHover(this)" 

要通過添加id="something"使用添加同一事件的jQuery,你需要一些方法來識別元素,例如,那麼你可以做此:

$(function(){ 
    $('#something').mouseover(function(){ 
    DivColorHover(this); 
    }); 
}); 
-2
jQuery(document).ready(function(){ 
     $("#yourid").mouseover(function() { 
       $("#yourid").parent().css("backgroundColour":"red"); 
     } 
} 

當HTML加載jquery的結合定義函數來使用id = 「yourid」 元素的鼠標懸停事件。

這種方式讓行爲(事件處理程序)和結構(html)分開,更易於理解(至少對我而言)。

+0

這不是他的代碼中的「父」。 – peirix 2010-07-07 12:41:19