2010-07-07 53 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