a标签的一个问题,当时没转过弯来···
今天工作的时候,写了这样一段代码·(这是简化版)
<a href="javascript:aa(1111,this)"></a>
<script type="text/javascript">
function aa(id,obj){
alert(obj);
}
</script>
弹出神马呢? 应该是dom吧,结果是window对象。
当然还以为是BUG,后来去群里问了下好多人都不知道,突然被人提醒了一下恍然大悟。
href="javascript:aa(1111,this)"的意义其实就是在浏览器地址栏输入javascript:aa(1111,this),这样自然this是指向window的。
这种情况应该是用事件才能指向触发事件的对象
<a href="#" onclick="aa(1111,this)"></a>
<script type="text/javascript">
function aa(id,obj){
alert(obj);
}
</script>
就是这样,当时没想到会有这种情况,被折磨了半小时,真是粗心啊!!