按钮初始化

时间:2014-01-02 01:08:43

标签: javascript

我是一名新手javascript程序员,我的代码遇到了问题。实际上,我不是创建此代码的人。我们的主要工作是调试并使此代码工作。

此代码适用于应在开头禁用的按钮。这适用于IE,但它似乎不适用于Firefox,我不知道是什么问题,如果你能帮助我,我会很感激。

for (var i = 0; i < length; i++) {
    if (btnList.item(i).id != targetButtonId) {
        // 押下:可/不可
        btnList.item(i).disabled = !enable;
        // ボタンイメージ:通常表示/半透明
        if (document.all) {
            // IE
            btnList.item(i).style.filter = (enable ? '1' : 'Alpha(Opacity=50)');
        } else {
            // FF
            btnList.item(i).style.opacity = (enable ? '1' : '.5');
        }
    }
}

***编辑:这是它的代码(是的,这是在日本抱歉):(

setEnableForDrawing: function(enable) {

    var layout = this.getToolbar();

    // 設定/解除指示回数チェック
    if (enable) {
        lock4setEnableForDrawing--;
        if (0 < lock4setEnableForDrawing) return;
    } else {
        lock4setEnableForDrawing++;
        if (1 < lock4setEnableForDrawing) return;
    }

    if (layout && 
        layout.regions) {

        // メニューバー
        if (layout.regions.north && 
            layout.regions.north.el) {

            if (enable) {
                layout.regions.north.el.unmask();
            } else {
                layout.regions.north.el.mask();
            }  
        }

        // ツールバー
        if (layout.regions.center && 
            layout.regions.center.bodyEl.dom && 
            layout.regions.center.bodyEl.dom.getElementsByTagName('INPUT')) {

            var btnList = layout.regions.center.bodyEl.dom.getElementsByTagName('INPUT');
            var length = btnList.length;

            for (var i = 0; i < length; i++) {

                if (btnList.item(i).id != 'tool_move_drag'       && // 掴み
                    btnList.item(i).id != 'tool_move_center'     && // 中心
                    btnList.item(i).id != 'tool_zoom_rect'       && // 矩形                        
                    btnList.item(i).id != 'tool_zoom_in'         && // 拡大
                    btnList.item(i).id != 'tool_zoom_out'        && // 縮小
                    btnList.item(i).id != 'tool_emph') {            // 解除

                    // 押下:可/不可
                    btnList.item(i).disabled = !enable;
                    // ボタンイメージ:通常表示/半透明
                    if (document.all) {
                        // IE
                        btnList.item(i).style.filter = (enable ? '' : 'Alpha(Opacity=50)');
                    } else {
                        // FF
                        btnList.item(i).style.opacity = (enable ? '1' : '.50');
                    }
                }

            } // end of for (var i = 0; i < length; i++) {

        } // end of ツールバー側制御

    }
}, // end of setEnableForDrawing()

1 个答案:

答案 0 :(得分:2)

你忘了添加b:)

for (var i = 0; i < length; i++) {
    if (btnList.item(i).id != targetButtonId) {
        // 押下:可/不可
        btnList.item(i).disabled = !enable;
        // ボタンイメージ:通常表示/半透明
        if (document.all) {
            // IE
            btnList.item(i).style.filter = (enable ? '1' : 'Alpha(Opacity=50)');
        } else {
            // FF
            **b**tnList.item(i).style.opacity = (enable ? '1' : '.5');
        }
    }
}

跟踪问题:firefox有一个document.all变量:[object HTML document.all class] 这就是为什么它也适用于FF。在这个txt下修复,如果它返回-1那么这意味着它不是,即欢呼配偶。

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}