chrome中button的默认函数

chrome版本: 24.0.1312.5
js代码: <input id="remove" onclick="remove();" type="button" value="移除"/>

在chrome点击按钮后 按钮本身移除了,而我并没有编写remove函数. 感觉很奇怪,于是用了以下代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>chrome bug</title>
</head>

<body>
    <input id="remove" onclick="remove();" type="button" value="移除"/>

    <script>
        var t=document.getElementById('remove');
        for(attr in t)
            document.write(attr+'<br/>');
    </script>
</body>
</html>

打印结果中查看到remove函数,原来chrome中button本身就有remove函数.难道是html5的新特性?

在firefox和safari中测试均没有发生上述情况。

为了查看remove的函数具体实现,用以下代码具体查看:

<script>
        var t=document.getElementById('remove');
            document.write(t.remove+'<br/>');
    </script>


print:

    function remove() { [native code] }

结果说明此函数是通过c++实现。

不知道这是不是chrome的一个bug , input如果是text类型,只要绑定onclick='remove()' 点击文本框,文本框也消失了,让开发人员莫名奇妙!



解决办法:

更改事件名,不让自己写的事件函数和内置的函数冲突。

<input id="remove" onclick="drop();" type="button" value="移除"/>

原文链接: https://www.cnblogs.com/BigIdiot/archive/2012/11/16/2773386.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/69625

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午1:53
下一篇 2023年2月9日 下午1:53

相关推荐