<input type="text"  id="a"/>
<script language="javascript">
//请问如果在这里重写系统的focus()函数,让下面的代码失效?
document.getElementById("a").focus();
</script>

解决方案 »

  1.   


    document.getElementById("a").focus = function(){
    alert(111);
    };
    document.getElementById("a").focus();
     不知道你想干什么
      

  2.   


    就是把页面上所有控件(元素)在调用focus()函数的时候,不让其获取焦点,什么也不执行
      

  3.   

    矮油 我可不做你老婆 =.=告诉你个方法
    HTMLDOM有一个基础的document对象
    你可以在它的原型里面重写focus函数
    Document.prototype.focus = function(){
      this.blur();
    }
    但是不知道IE支持不支持我觉得思路是对的 就是你需要看看document对象有没有这个方法
    console.dir(document) 看看 我懒啊 就不瞧了
      

  4.   

    好像不管是Document还是HTMLElement。在原型里进行重写。貌似都有问题PS:Lz这需求实在是有点BT了
      

  5.   

    var EventUtil = {

    addHandler: function(element, type, handler) {
    if (element.addEventListener) {
    element.addEventListener(type, handler, false);
    } else if (element.attachEvent) {
    element.attachEvent("on", + type, handler);
    } else {
    element["on" + type] = handler;
    }
    }, getEvent: function(event) {
    return event ? window.event;
    }, getTarget: function(event) {
    return event.target || event.srcElement;
    }, preventDefault: function(event) {
    if (event.preventDefault) {
    event.preventDefault();
    } else {
    event.returnValue = false;
    }
    }, removeHandler: function(element, type, handler) {
    if (element.removeEventListener) {
    element.removeEventListener(type, handler, false);
    } else if (element.detachEvent) {
    element.detachEvent("on", + type, handler);
    } else {
    element["on" + type] = null;
    }
    }
    };EventUtil.addHandler(document.getElementById("a"), "focus", function(event){
    event = EventUtil.getEvent(event);
    EventUtil.preventDefault(event);
    });
      

  6.   

    1.楼主的标题吓到我了;
    2.楼主的需求貌似有点多此一举;
    3.你别写focus不就行了……