<!DOCTYPE html><html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <style> .test2 { background: #bbffaa; } .test3 { background: yellow; } .test2,.test3{ border: 1px solid red; } </style> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script></head><body> <h2>.click()方法</h2> <h4>测试一</h4> <button>元素绑定事件,弹出回调中的this</button> <script type="text/javascript"> //this指向button元素 $("button").eq(1).click(function() { alert(this) }) </script> <h4>测试二</h4> <div class="test2"> <p>$('button:first').click(function(e) {alert(this)})</p> </div> <button>指定触发事件</button> <script type="text/javascript"> $('p').click(function(e) { alert(e.target.textContent) }) //this指向button元素 $("button").eq(0).click(function() { $('p').click() //指定触发绑定的事件 }) </script> <h4>测试三</h4> <div class="test3"> <p>$('.right').click(1111, set)</p> </div> <button>不同函数传递数据</button> <script type="text/javascript"> //不同函数传递数据 function data(e) { alert(e.data) //1111 } function a() { $("button").eq(2).click(1111, data) } a() </script></body></html>
3 回答
已采纳
OlderSkee
TA贡献123条经验 获得超103个赞
$("button").eq(1)这个元素在这句js的后面
所以获取不到
把这语话移到
<button>指定触发事件</button>
的后面 就可以了 。。
Caballarii
TA贡献1123条经验 获得超629个赞
因为eq(1)是选第二个元素,但这句话执行的时候第二个button还没有出来,所以没绑上,建议以后写jquery都放到$(function() {})或者$(document).ready(function(){ })里,保证html完全渲染以后才执行js
- 3 回答
- 0 关注
- 2662 浏览
添加回答
举报
0/150
提交
取消