1

我为 508 合规性编写了此代码,但是在用户关闭它之后,我希望元素能够正常运行,我该怎么做?这是以下内容:

handleInteraction:function(focusable){
    this.setElements();
    var totalAllowed = (this.elements.totalChar[0].innerHTML);
    var value = this.obj.value;
    var chars = value.length;
    var charsLeft = parseInt(totalAllowed) - parseInt(chars);
    if (charsLeft >= 0 || (typeof focusable=='boolean' && focusable==false)){
        this.elements.leftChar[0].innerHTML = charsLeft;
        this.elements.charLeftp.removeClass("error");           
    }
    else {
        this.obj.value = value.substring(0, totalAllowed);
        this.elements.leftChar[0].innerHTML = 0;
        this.elements.charLeftp.addClass("error")
        var divNA = dojo.byId("max-"+this.obj.id);
        if (divNA){
            dojo.destroy(divNA);    
        }
        divNA = dojo.create("a",{"id":"max-"+this.obj.id,"class":"hide-fromsighted","innerHTML":"<h5>This textarea has reached the maximum allowed number of characters. Please navigate backwards!</h5>","tabindex":"-1"});
        dojo.place(divNA,this.obj,'after');
        divNA.focus();


        /*
         * Here apply the onblur event to kill the <a>
         */
    }
4

2 回答 2

2

我假设您正在使用 Dojo Toolkit。您可以使用 dojo.destroy 销毁<a>标签,并且可以使用 dojo.stopEvent 停止该<a>事件传播。

http://www.dojotoolkit.org/reference-guide/dojo/destroy.html#dojo-destroy

http://www.dojotoolkit.org/reference-guide/dojo/stopEvent.html#dojo-stopevent

于 2010-12-09T20:24:57.317 回答
1

关于什么:

divNA.onblur = function() { divNA.destroy(); }

那行得通吗?

于 2010-12-09T20:21:52.590 回答