请教是否可以实现如下效果:
<ul>
<li></li>
.....若干个li
<li></li>
</ul>
在所有的子元素li上绑定click事件?传统的做法,遍历进行绑定,那么大侠们,有没有办法实现如下效果:只在ul上绑定click事件就能实现所有的子元素li也绑定click事件?这是一道面试题,请教各位大侠,谢谢!
<ul>
<li></li>
.....若干个li
<li></li>
</ul>
在所有的子元素li上绑定click事件?传统的做法,遍历进行绑定,那么大侠们,有没有办法实现如下效果:只在ul上绑定click事件就能实现所有的子元素li也绑定click事件?这是一道面试题,请教各位大侠,谢谢!
用jquery,可以一次性把所有li都绑上click事件。
但你说的在UL上绑定的话,那就是针对UL的,会出错的。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('li').click(function(){
你要干什么就写这吧;
});
});
</script>
var ul1 = document.getElementById('ul1');
ul1.onclick = function(e){
var e = e||window.event;
var target =e.srcElement||e.target;
if(target.tagName.toLowerCase()=='li'){
alert(target.innerHTML);
}
}
<html>
<head>
<title>bubble event</title>
<script src="../../../lib/jquery/jquery-1.4.2.js"></script><script>
$(document).ready(function(){
$("ul").click(function(evt){
if (evt.target.nodeName == "LI") {
alert('clicked on li element:' + evt.target.innerHTML);
}
})
});
</script>
</head>
<body>
<div id="content">
<ul>
<li>beijing</li>
<li>shanghai</li>
<li>dalian</li>
<li>shenyang</li>
<li>shenzhen</li>
</ul>
</div>
</body>
</html>
JS对于函数类型的变量,都是引用类型的,因此不会复制一个副本,而是创建一个指向该函数的指针。
JS下只有undefined、nulll、Number、 String、boolean是基本类型,这些类型的变量在赋值语句中才会创建副本。
类似于
id.onclick=函数名称
的写法是复制了一个副本
不是。只是副本。通过函数名称找到函数在内存中对象,然后将该对象的指针赋值给id.onclick当然,也不绝对。比如,LZ自己修改JS引擎,做一个复制而不是引用,那另当别论