其他函数中的回调 javascript 函数

Callback javascript function inside other function

本文关键字:函数 javascript 回调 其他      更新时间:2023-09-26

>我有两个函数:

function changeImage(imgName)
{
image = document.getElementById('imgDisp');
image.src = imgName;
}
function changeSize()
{
document.getElementById('imgDisp').setAttribute("datamask","../files/test/2.png");
}

它们都通过"onclick"事件调用:

 <img id="imgTemp" onclick="changeImage('../files/templates/blank/<? echo($one['id'])?>.jpg');changeSize();"

我想要的是,在执行 changeImage 后再次调用 changeSize。有人建议我使用回调,但我看到的大多数示例都处理函数内的变量回调,而不是两个函数。

编辑:函数更改大小应在图像上放置一个掩码,将"数据掩码"作为参数提供给另一个.js文件中的另一个函数。图像获取正确的"数据掩码"参数,但未应用掩码。

您可以在changeImage()内部调用changeSize()

function changeImage(imgName)
{
image = document.getElementById('imgDisp');
image.src = imgName;
changeSize();
}

然后,您可以从onclick函数中删除changeSize();

<img id="imgTemp" onclick="changeImage('../files/templates/blank/<? echo($one['id'])?>.jpg');" />
function changeImage(imgName)
{
image = document.getElementById('imgDisp');
image.src = imgName;
changeSize();
}
function changeSize()
{
document.getElementById('imgDisp').setAttribute("datamask","../files/test/2.png");
} 

<img id="imgTemp" onclick="changeImage('../files/templates/blank/<? echo($one['id'])?>.jpg');changeSize();"/>

只需编写changeSize()即可调用函数。

这是一个示例,但我会将您在 html 属性中回显的 url 放在数据属性中。这会更稳定和干净一些。http://jsbin.com/gijiketi/1/edit?html,js