Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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 onclick不使用“p.click”=`_Javascript - Fatal编程技术网

javascript onclick不使用“p.click”=`

javascript onclick不使用“p.click”=`,javascript,Javascript,我有这个简单的代码,我就是不能让它工作 <html> <head> <script type="text/javascript"> window.onload = function () { p = document.getElementById("foo"); p.click = function() { alert(p); }; } </script> </head> <body> <div id=

我有这个简单的代码,我就是不能让它工作

<html>
<head>
<script type="text/javascript">
window.onload = function () {
  p = document.getElementById("foo");  
 p.click =  function() { alert(p); }; 
 }
</script>
</head>
<body>
<div id="foo" style="position:relative;width:100px;height:100px;background-color:red;"> </div>

</body>

</html>

window.onload=函数(){
p=document.getElementById(“foo”);
p、 单击=函数(){alert(p);};
}
Javascript已打开。如果我把()放在函数后面,我可以让它自动运行。但是,onclick在它之后仍然不起作用。Firebug没有显示任何错误

p.onclick =  function() { alert(p); }; 
而且。。。请记住在创建新var时使用var

var p = document.getElementById("foo");  
而且。。。请记住在创建新var时使用var

var p = document.getElementById("foo");  

请更新如下。试试看

 p.onclick =  function() { alert(p); }; 

请更新如下。试试看

 p.onclick =  function() { alert(p); }; 

我认为您需要为“click”事件添加事件处理程序/侦听器,而不仅仅是指定“p.click=…”

你可以试试这个:

function whenLoaded() {   
  var p = document.getElementById("foo");   
  p.addEventListener("click", function(){alert(p)}, false);   
}   

document.addEventListener("DOMContentLoaded", whenLoaded, false);
$(document).ready(function() {
  p = document.getElementById("foo");  
  $(p).click(function(){ 
    alert(p); 
  });
}); 

*注意:附加事件侦听器因浏览器而异,因此您需要使用一个库来抽象这些差异。。。Jquery可以做到这一点,Bean()就是为此而构建的。如果您正在寻找一种小型跨浏览器DOM加载的事件处理程序,您也可以查看Dustin Diaz的domReady--

我认为您需要为“click”事件添加一个事件处理程序/侦听器,而不仅仅是指定“p.click=…”

你可以试试这个:

function whenLoaded() {   
  var p = document.getElementById("foo");   
  p.addEventListener("click", function(){alert(p)}, false);   
}   

document.addEventListener("DOMContentLoaded", whenLoaded, false);
$(document).ready(function() {
  p = document.getElementById("foo");  
  $(p).click(function(){ 
    alert(p); 
  });
}); 
*注意:附加事件侦听器因浏览器而异,因此您需要使用一个库来抽象这些差异。。。Jquery可以做到这一点,Bean()就是为此而构建的。如果您只是在寻找一种小型跨浏览器DOM加载的事件处理程序,您还可以查看Dustin Diaz的domReady--

如果您正在使用,请尝试以下方法:

function whenLoaded() {   
  var p = document.getElementById("foo");   
  p.addEventListener("click", function(){alert(p)}, false);   
}   

document.addEventListener("DOMContentLoaded", whenLoaded, false);
$(document).ready(function() {
  p = document.getElementById("foo");  
  $(p).click(function(){ 
    alert(p); 
  });
}); 
如果您正在使用,请尝试以下方法:

function whenLoaded() {   
  var p = document.getElementById("foo");   
  p.addEventListener("click", function(){alert(p)}, false);   
}   

document.addEventListener("DOMContentLoaded", whenLoaded, false);
$(document).ready(function() {
  p = document.getElementById("foo");  
  $(p).click(function(){ 
    alert(p); 
  });
}); 

是的,它应该是用户var p=document.getElementById(“foo”);尽管它在工作。是的,它应该是用户var p=document.getElementById(“foo”);尽管它在工作。只有在首先使用特定于浏览器的方法时,跨浏览器侦听器才比较困难。只要将侦听器关联到元素的
onclick
属性,它就可以在每个支持脚本的浏览器中工作。只有当您首先使用特定于浏览器的方法时,跨浏览器侦听器才比较困难。只要将侦听器关联到元素的
onclick
属性,它就可以在每个支持脚本的浏览器中工作。