Javascript在循环中将参数传递给eventListener函数

格瑟

这段代码将传递循环由eventListener函数创建的最后一个值,我需要在创建eventListener时附加该值。

window.onload = function() {

var el = document.getElementsByClassName('modify');

for (var i = 0; i < el.length; i++) {

     var getId=el[i].id.split("_");

     document.getElementById("modify_y_"+getId[2]).addEventListener('mouseover', function() {
     document.getElementById("modify_x_"+getId[2]).style.borderBottom = '#e6665 solid 3px';
    }, false); 

}
}
马丁·耶斯珀森

您可以使用bind现代浏览器所有功能中存在原型

window.onload = function() {

var el = document.getElementsByClassName('modify');

for (var i = 0; i < el.length; i++) {

     var getId=el[i].id.split("_");

     document.getElementById("modify_y_"+getId[2]).addEventListener('mouseover', function(theid) {
       document.getElementById("modify_x_"+getId[2]).style.borderBottom = '#e6665 solid 3px';
    }.bind(null,getId[2]), false); 

}
}

如果您需要支持bind尚未内置的较旧的浏览器,则可以使用从MDN提取的这种poly-fill,在这里您还将找到有关绑定原型功能的文档

if (!Function.prototype.bind) {
  Function.prototype.bind = function (oThis) {
    if (typeof this !== "function") {
      // closest thing possible to the ECMAScript 5 internal IsCallable function
      throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
    }

    var aArgs = Array.prototype.slice.call(arguments, 1), 
        fToBind = this, 
        fNOP = function () {},
        fBound = function () {
          return fToBind.apply(this instanceof fNOP && oThis
                                 ? this
                                 : oThis,
                               aArgs.concat(Array.prototype.slice.call(arguments)));
        };

    fNOP.prototype = this.prototype;
    fBound.prototype = new fNOP();

    return fBound;
  };
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在jinja循环中将单个jinja变量传递给python函数作为参数?

在 Javascript 中将函数参数传递给 then

在forEach循环中将变量传递给请求承诺函数

在foreach循环中将变量传递给函数

VBA - 将参数传递给循环中的函数

变量i未在JavaScript循环中传递给函数

javaScript:将参数传递给eventListener

在javascript中将参数传递给回调函数

如何在JavaScript中将参数传递给匿名函数?

在Javascript中将对象作为参数传递给函数

拉拉维尔。在 foreach 循环中将不正确的参数传递给 destroy() 的路由

通过Tkinter中的Button将参数传递给函数,循环中出现starnge行为

在Tkinter Python中将参数传递给函数

在C中将参数从main传递给函数

在find中将函数的参数传递给exec

使用Vue在v-for循环中将可迭代元素作为函数参数传递

在循环中将变量传递给dplyr :: count

在for循环中将shell变量传递给awk

如何在循环中将多个变量传递给命令?

在for循环中将结构传递给pthread的正确方法

在Python中的for循环中将值传递给dict

使用循环将参数传递给函数

如何在JavaScript中将参数传递给compose函数中的每个函数

JavaScript-在每个for循环中将数组作为函数参数进行更改

将数据 onClick 事件传递给循环中的函数

将变量传递给在for循环中创建的click函数

在C ++中将void函数作为参数传递给double函数

在Java中将参数从函数传递给内部函数?

如何在JavaScript for-each周期中将参数传递给promise函数