今天写项目,发现onclick中,$(this)默认绑定的是window对象,而不是当前点击对象。试了一下,onclick中,必须带this,在function内,才能获取当前对象。
原因:在html4中,onclick是全局时间属性。参考:http://www.w3school.com.cn/tags/html_ref_eventattributes.asp
所以,在事件中,添加this,返回触发事件的html元素
<a href="javascript:void(0)" onclick="openNewsList(url,this)" class="index-news-list">链接</a><script type="text/javascript">
function openNewsList(url, obj) {
console.dir(obj);
$(obj).removeClass("index-news-list");
window.open(url);
}
</script>
本文探讨了HTML4中onclick事件默认绑定的问题,指出$(this)在该事件中实际上绑定的是window对象,而非预期的当前点击对象。为了正确获取当前点击的对象,需要在事件处理函数内部明确使用this关键字。
644

被折叠的 条评论
为什么被折叠?



