关于html onclick 与js onclick 初学思考


相信大家都用过 html onclick 与js onclick 这两个事件函数。先来看一下两者的用法!

html中的onclick的用法:

列子:<a href="#" οnclick=" alert("hello world")">Example</a>

html 中的onclick 是作为一个属性,后面写上js代码,若要写多条代码则可以用“”;“”来分开语句

再看一下js 中的onclick

列子:function test()

            {

                this.οnclick=alert("hi");

            }


js里面的是作为this对象的一个属性。这里为了方便就用了this,即给当前的对象加一个onclick事件,当然也可用 getElementsById等方法找到你需要增加onclick事件,这里就不再叙述了!

说了半天还没说到两者的区别,现在进入正题。

我当初是猜想js里用onclick来给对象加一事件,是不是改变了dom 树里该元素onclick属性????!!!!

于是我就做了如下测试:
<script type="text/JavaScript">
    function testOnclick()
    {
        var link = document.getElementsByTagName('a');
        this.οnclick=alert("hello");
        for(var i=0;i<link.length;i++)
            alert(link[i].getAttribute('onclick'));
    }

</script>
</head>

<body>

    <a href="#" οnclick="testOnclick()">Test</a>

</body>

我们主要看函数testOnclick();这个测试思路是这样的:我们先改变onclick事件,然后再输出dom树上的该元素的onclick属性值。如果为"alert("hello")"就说明改变了,如果是输出“”testOnclick()“”就说明并不是修改了dom树上该对象的onclick属性!

测试截图:





从结果可以判断并不是修改了dom树!其实是js自己的一个监听机制造成的!有时间会将js的监听机制来补充一下。


  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值