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
属性,它就可以在每个支持脚本的浏览器中工作。