Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 绑定多个事件时调用特定函数_Javascript - Fatal编程技术网

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

Javascript 绑定多个事件时调用特定函数,javascript,Javascript,我有一个站点范围的JS,它为各种事件创建监听器,但在某些情况下,我需要调用特定的函数,如下面的代码中所示,我需要调用函数call,但它不会被调用 <html> <head> <script> window.onload = function () { var inputs = document.getElementsByTagName("input"); var len = inputs.length; for (var i=0;

我有一个站点范围的JS,它为各种事件创建监听器,但在某些情况下,我需要调用特定的函数,如下面的代码中所示,我需要调用函数call,但它不会被调用

<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>

window.onload=函数()
{    
var inputs=document.getElementsByTagName(“输入”);
var len=输入。长度;
对于(变量i=0;i

请建议。我想把两者都称为焦点。我不熟悉javascript。

因此,一旦页面加载(使用适当的
调用
onfocus
处理程序),您就可以运行覆盖所有这些处理程序的
窗口。onload
。我想这不是你想做的。如果可能,您可以使用DOM2事件:

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

如果OP希望始终同时执行这两个命令,那么这是可行的。OP还声明了
,但在某些情况下,我需要调用一个特定的函数
,这意味着他/她有时只想执行另一个方法。此外,OP也不清楚在这种情况下,他/她是想同时执行两个还是只执行一个而不是另一个。是的,我也没有完全理解这个想法,但给出了OP可以基于的一个片段。别误会,你的解决方案是正确的,因为你从问题中获得的信息很少。我的意思是,这个评论更多的是针对OP,而不是针对您:)我想在场景中执行这两个函数。很抱歉没有提到这个问题。将进行编辑。@AlexanderPavlov:您的解决方案在firefox中运行,但在safari中,我看到了无限的警报窗口。