为图像的onmouseout属性添加额外的功能

时间:2011-08-01 10:24:32

标签: jquery

我有这个:

<img border="0" onmouseout="hidetips();" onmouseover="showtips();" src="image.gif">

<script type="text/javascript">
$(document).ready(function() {
    $("img").each(function(index){
        $(this).attr("onmouseout", "hidetips();newfunction();");
    });
});
</script>

我上面试过但是它没有用,任何人都知道如何在onmouseout属性后面添加额外的newfunction()?

2 个答案:

答案 0 :(得分:1)

使用mouseout方法绑定事件处理程序。使用匿名函数来包含对单独函数的调用:

$(document).ready(function() {
  $("img").mouseout(function() {
    hidetips();
    newfunction();
  });
});

注意:它将绑定jQuery对象中所有找到的元素,因此您不必循环。

编辑:

您也可以使用jQuery绑定showtips函数,这样您就不需要每个图像元素中的事件属性:

$(document).ready(function() {
  $("img").mouseover(showtips).mouseout(function() {
    hidetips();
    newfunction();
  });
});

答案 1 :(得分:1)

或者,您可以添加一个名为clickHandler或类似的函数,然后根据需要运行所需的函数,因此您只需指定onmouseoutonmouseover中的一个函数。例如:

<img border="0" onmouseout="clickhandler();" onmouseover="showtips();" src="image.gif">

<script type='text/javascript'>
    function clickhandler()
    {
        hidetips();
        newfunction();
    }
    function hidetips()
    {
        alert('hide');
    }
    function newfunction()
    {
        alert('newfunction');
    }
    function showtips()
    {
        alert('showtips');
    }
</script>