Javascript:在每个onmouseover事件之后执行2个函数

Javascript: Executing 2 functions after each other onmouseover event

本文关键字:之后 执行 2个 函数 事件 onmouseover Javascript      更新时间:2023-09-26

我有一个关于jquery/javascript的问题:我的情况如下:

  • 我有一个链接
  • 它在mouseover上有一处房产
  • 当我悬停时,它会调用默认的FirstFunction(),这个函数会替换图像

注意,我不允许修改FirstFunction(),因为它执行一些不同的重要任务。我想做的事:

  • 调用第二个函数:
  • 第二个函数应该将图像替换回原始图像,因此在它被之前的FirstFunction()更改之前

我写了以下脚本:

function SecondFunction(obj) {
    a = $(obj).find("img");
    if (a != null && a.attr("src")!= null)
        if (a.attr("src").lastIndexOf("img_4") != -1)
            a.attr("src", "newSmallImg.png");
        else if(a.attr("src").lastIndexOf("img_2")!=-1){
            a.attr("src", "newBigImg.png");
        }
}

通常情况下,当我调试脚本时,它会工作,等等,但图像不会被替换回来。我注意到"SecondFunction"在"FirstFunctions"执行完成之前就已经完成了。

我能做点什么吗?就像SecondFunction=>FirstFunction.ready中的设置一样?(第一个函数也在不同的文件中。)

任何输入都是受欢迎的

小更新,我调用的函数如下:

<a onmouseover="FirstFunction(); SecondFunction(this);" ...>
    <span>
       <img src="" ... />
    </span>
</a>

1)检查您在第二个函数中接收的对象类型,您是如何调用此函数的?你能提供代码吗?

2) 检查你在这行中找到的图像是否是你期望的:

a = $(obj).find("img");

我建议通过唯一的id:访问对象

var myImge = $('#imageId')

我能做点什么吗?类似于SecondFunction中的设置=>FirstFunction.准备好了吗?(第一个函数也在不同的文件中。)

这可能有助于

<a onmouseover="FirstFunction(this, SecondFunction)" ...>
    <span>
       <img src="" ... />
    </span>
</a>

并像这个一样更改FirstFunction()

function FirstFunction(obj, callback) {
    //your code here
    if(callback && typeof callback === 'function') {
        callback(obj);
    }
}