绑定多个事件时调用特定函数

Calling a particular function when multiple events are bound

本文关键字:函数 调用 事件 绑定      更新时间:2023-09-26

我有一个站点范围的JS,它为各种事件创建侦听器,但在某些情况下我需要调用特定的函数,就像下面的代码一样,我需要调用函数调用,但它没有被调用。

<html>
<head>
<script>
window.onload = function ()
{    
   var inputs = document.getElementsByTagName("input");
   var len = inputs.length;
   for (var i=0; i < len; i++) 
   {        
         if (inputs[i].getAttribute("type") == "text") 
         {    
                  var element = inputs[i];
                  element.onfocus = function() 
                  {    
                        var id = element.getAttribute("id");
                        alert(id);
                  }
          }
   }
}
function call(element)
{    
      element.value="";
}
</script>
</head>
<body>
<input type="text" name="myvar1" value="same content" id="noviceid" onfocus="call(this);">
<input type="text" name="myvar2" value="same content" id="noviceid" onfocus="call(this);">
</body>
</html>

请指教。我想把两个都称为焦点。我是javascript的新手。

因此

,一旦您的页面加载(使用适当的call onfocus处理程序),您就会运行覆盖所有这些处理程序的window.onload。我想这不是你打算做的。相反,如果可能,您可以使用 DOM2 事件:

element.addEventListener("focus", function(event) 
      {
            var id = event.target.getAttribute("id");
            alert(id);
      }, false);