jquery用this获取不到html行内绑定事件的元素 20
<html><buttontype='button'onclick='test(this)'name='btn'>按钮</button></htm><js>functio...
<html>
<button type='button' onclick='test(this)' name='btn'>按钮</button>
</htm>
<js>
function test(){
var name= $(this).attr('name'); //这里用this获取不到html行间绑定事件的对象
} //但是如果是用addEventListener('click',test)绑定的
</js> //用this就能获取到button的name属性
//我想问一下,html行内绑定的事件,调用函数test,在test函数中this的指向谁的? 展开
<button type='button' onclick='test(this)' name='btn'>按钮</button>
</htm>
<js>
function test(){
var name= $(this).attr('name'); //这里用this获取不到html行间绑定事件的对象
} //但是如果是用addEventListener('click',test)绑定的
</js> //用this就能获取到button的name属性
//我想问一下,html行内绑定的事件,调用函数test,在test函数中this的指向谁的? 展开
2个回答
展开全部
<html>
<script type="text/javascript"> //JS必须写在这个标签下,这个标签必须在HTML标签下
function test(but){ //函数必须有入参才能接收你传入的参数
var name= but.name; //name属性是对象本身就有的属性,可以直接取。
alert(name);
}
</script>
<button type='button' onclick='test(this)' name='btn'>按钮</button>
</html>
追问
我的意思是:为什么 在行间绑定的事件,this指向的是window, 而用js绑定的事件,this指向的是对象本身。(这个跟test有没有参数没关系吧,没参数也能调用this)
因为我的页面上有2种button,一种是在行间绑定的事件,一种是用addEventListener('click',test)绑定的事件,所以想让this都指向对象本身
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询