javascript - 使用 JavaScript 向图像添加 JavaScript 事件

标签 javascript html dynamic image

好的,所以我将尝试尽可能清楚地说明这一点。我想编写一个函数,调用时会将 onmouseout 属性添加到图像。

在鼠标悬停在图像上之前。

<img src="myfile.jpg" onmouseover="function()" />

之后

<img src="myfile.jpg" onmouseover="function()" onmouseout="anotherFunction()" />

我还想用 function() 改变图片,然后 onmouseout 将图片设置回原来的。我知道如何在图像代码中使用 onmouseover 和 onmouseout 更改图片,但我正在尝试简化它,因为我必须执行大约 100 次图像更改操作,而且我不想多次写出代码。啊,我希望这很清楚。

最佳答案

这比你想象的要简单:

function SetImageSource(ele, url) {
    ele.src = url;
}

<img src="myfile.jpg" 
     onmouseover="SetImageSource(this, 'someURL')"
     onmouseout="SetImageSource(this, 'someOtherURL')" />

注意:内联 JavaScript 并不理想。我建议阅读 JS 中的事件处理。更具体地说,阅读有关附加到事件的信息。

根据说明进行编辑

<img id="imgMyImage" src="myfile.jpg" 
     onmouseover="SetImageSource(this, 'someURL')"
     onmouseout="SetImageSource(this, 'someOtherURL')" />


function AddEvent(html_element, event_name, event_function) 
{       
   if(html_element.attachEvent) //Internet Explorer
      html_element.attachEvent("on" + event_name, function() {event_function.call(html_element);}); 
   else if(html_element.addEventListener) // Everything else
      html_element.addEventListener(event_name, event_function, false);
}

AddEvent(document.getElementById('imgMyImage'),
                                 'onmouseover',
                                 // do something
                                 );

附加信息

参见 .addEventListener() on MDN

参见 .attachEvent() on MSDN

关于javascript - 使用 JavaScript 向图像添加 JavaScript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790742/

相关文章:

python - 动态添加类成员使用字符串命名

javascript - 谷歌脚本文本区域或文本框不想给我文本

javascript - 在 express 路由器和中间件之间传递数据

html - 如果未解析的路径不同,浏览器是否会删除重复的 HTML 导入?

wordpress - List 元素的动态高度带来总混沌

asp.net-mvc - Telerik MVC 网格与 ExpandoObject 列表

javascript - 使用多个元素触发单个onclick函数

javascript - CartoDB/javascript : highlight multipolygon on click

html - Open Graph + Twitter Cards + HTML5 = 不兼容?

javascript - 使用 Javascript 将 PHP 变量转换为 HTML 文本框