06 同时给多个元素绑定事件

1 要求

  同时给多个相同元素绑定相同的时间

  例如:给一个无序列表中的每一个li元素绑定一个事件,单击每个li元素的时候改变背景颜色和文本颜色

2 思路

  利用jQuery的on()实现同时绑定

3 准备

  3.1 jQuery的 on()方法 怎么使用?

  在选择元素上绑定一个或多个事件的事件处理函数。

  on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。在jQuery 1.7中,.on()方法 提供绑定事件处理程序所需的所有功能。帮助从旧的jQuery事件方法转换,see .bind().delegate(), 和 .live(). 要删除的.on()绑定的事件,请参阅.off()。要附加一个事件,只运行一次,然后删除自己, 请参阅.one()

    3.1.1 语法

      on(events,[selector],[data],fn)

      

  3.2 jQuery的 css()方法 怎么使用 

    访问匹配元素的样式属性。

     jQuery 1.8中,当你使用CSS属性在css()animate()中,我们将根据浏览器自动加上前缀(在适当的时候),比如("user-select", "none"); 在Chrome/Safari浏览器中我们将设置为"-webkit-user-select", Firefox会使用"-moz-user-select", IE10将使用"-ms-user-select".

    3.2.1 语法   

      css(name|pro|[,val|fn])

    3.2.2 实例

  

 1 <!DOCTYPE html><!--  给浏览器解析,我这个文档是html文档 -->
 2 <html>
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <meta name="description" content="" />
 6     <meta name="Keywords" content="" />
 7     <title></title>
 8
 9     <script type="text/javascript" src="../js/test.js"></script>
10     <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
11
12     <!-- <link rel="shortcut icon" href="../img/study04.ico"> -->
13     <style type="text/css">
14         ul li {
15             display: block;
16             width: 100px;
17             height: 30px;
18             border-bottom: solid 1px red;
19             margin-bottom: 3px;
20             background-color: skyblue;
21
22             text-align: center;
23             line-height: 30px;
24         }
25
26         #box {
27             width: 100px;
28             height: 100px;
29             margin-top: 20px;
30             background-color: green;
31         }
32
33
34     </style>
35     <script type="text/javascript">
36         $(function() {
37
38             // 给id为box的元素绑定单击事件
39            $("#box").on("click", function() {
40                    // 单击事件触发时就将背景颜色更改为红色,将文本颜色更改为黄色
41                    $(this).css({"background-color":"red", "color" : "yellow"});
42                    // alert("helllo ");
43            });
44
45            $("#ul01").on("click", "li", function() {
46                    // alert($(this).html());
47                    // 单击前先将所有的li元素恢复到默认情况
48                    $("#ul01 li").css({"background-color" : "skyblue", "color" : "black"});
49                    // 单击那个li元素就将那个li元素的背景颜色变成红色,文本颜色变成黄色
50                    $(this).css({"background-color" : "red", "color" : "yellow"});
51            });
52         });
53     </script>
54 </head>
55
56 <body>
57     <ul id="ul01">
58         <li>我是1</li>
59         <li>我是2</li>
60         <li>我是3</li>
61         <li>我是4</li>
62     </ul>
63
64     <div id="box">hello world</div>
65
66 </body>
67 </html>

同时给多个元素绑定事件源代码

      

时间: 2024-12-23 08:20:23

06 同时给多个元素绑定事件的相关文章

如何用js为动态生成的元素绑定事件

今天在开发项目的时候,需要为用js动态生成的元素绑定一个click事件,但是在页面加载之前,这个元素不存在,没法获取这个元素,然后为其添加事件.查阅jquery api 发现可以用on()事件(注意:新版本的jquery已经把live()去除,现在用on()),为动态生产的元素绑定事件,然后触发该事件执行.比如下面一个例子: 假设我们要给div动态添加的span绑定click事件形成如下结果 x //做法如下: ("#choose_result").on("click&quo

Angular如何给动态生成的元素绑定事件

在AngularJS中,操作DOM一般在指令中完成,事件监听机制是在对于已经静态生成的dom绑定事件,而如果在指令中动态生成了DOM节点,动态生成的节点不会被JS事件监听. 举例来说: angular.module('myapp',[]) .directive('myText',function(){ return{ restrict:'A', template:'<div ng-click="hello()">Hi everyone</div>', link:

jQuery给动态添加的元素绑定事件的方法

jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这里介绍jQuery中如何给动态添加的元素绑定事件在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况 例如 1 <div id="testdiv"> 2 <ul></ul> 3 </div> 需要给<ul>里面动态添加的

javascript为元素绑定事件响应函数

javascript中为元素设置响应时间有两种方法. (1):object.onclick=functionName; 这种方法不可以传递参数. (2):object.onclick=function(){ functionName(arg1,arg2,...); } 这种方法就可以传递参数了. javascript为元素绑定事件响应函数

jQuery-为动态添加的元素绑定事件

样例: $("#modify_nick").click(function () { $(this).css("display","none"); $("#nickname_span").empty(); var input = document.createElement("input"); $(input).attr("type", "text"); $(input

WEB前端技巧之JQuery为动态添加的元素绑定事件

jquery 为动态添加的元素绑定事件 如果直接写click函数的话,只能把事件绑定在已经存在的元素上,不能绑定在动态添加的元素上 可以用delegate来实现 .delegate( selector, eventType, handler ) 例如示例: $('someUlSelector').delegate('someLiSelector','click',function(){ //codes... //$(this) for the current jquery instance of

Js为Dom元素绑定事件须知

为异步加载的Dom 元素绑定事件必须在加载完成之后绑定: $('body').load('LearnClickBinding.ashx');$('a').click(function () { alert('I was clicked!'); }); 上面的绑定是无效的,因为异步加载需要时间,而在获取元素之前,早已执行了$('a').click();方法,所以绑定失败. 正确的做法是,等待元素加载完后再执行 $('a').click(); $('body').load('LearnClickBi

【JS 设计模式 】门面模式之DOM元素绑定事件

门面模式的作用:一是简化类的接口,通过用一个接口(函数或方法)来封装复杂的逻辑代码从而客户端可以使用一个接口来调用它:二是消除类与使用它的客户代码之间的耦合,使客户代码和复杂的逻辑代码分离,也就是耦合: ?在何种情况下会使用:1)为一个复杂子系统提供一个简单接口.2)提高子系统的独立性.3)在层次化结构中,使用Facade模式定义系统中每一层的入口,使它们各尽其责. 用绑定事件来举例门面模式,IE浏览器和其它(火狐.谷歌)浏览器在对html元素绑定事件上是有区别的. ie绑定代码: var bu

JavaScript之元素绑定事件

元素绑定事件的方法 Element.addEventListener(); Element.attachEvent(); 相同点和不同点 相同点: 都可以为元素绑定事件 不同点: 1.方法名不一样 2.参数个数不一样:addEventListener三个参数,attachEvent两个参数 3.addEventListener 谷歌,火狐,IE11支持,IE8不支持 attachEvent 谷歌火狐不支持,IE11不支持,IE8支持 4.this不同,addEventListener 中的thi