zoukankan      html  css  js  c++  java
  • 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="移除"/>
  • 相关阅读:
    事务
    一、python 基础之基础语法
    二、python 中五种常用的数据类型
    三、python函数详解
    四、 面向对象(一)
    五、面向对象(二)——继承与重写
    六、异常处理、日志打印、文件操作
    scrapy(一):基础用法
    # scrapy(二):get请求
    scrapy(三):post请求
  • 原文地址:https://www.cnblogs.com/BigIdiot/p/2773386.html
Copyright © 2011-2022 走看看