WEB开发网
开发学院图形图像Flash Silverlight嵌入到HTML之windowless属性及运用Aja... 阅读

Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题

 2009-04-11 12:04:02 来源:WEB开发网   
核心提示: 所以我们的silverlight的<object/>元素的tabIndex也由0设置成了-1,而当关闭ModualPopup窗口时,Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题(4),对应的JS又恢

所以我们的silverlight的<object/>元素的tabIndex也由0设置成了-1。而当关闭ModualPopup窗口时,对应的JS又恢复所有元素的tabIndex:

    restoreTab: function() {
        /// <summary>
        /// Restore the tab indices so we tab through the page like normal
        /// (and restore SELECT tags in IE6)
        /// </summary>

    for (var i = 0; i < this._saveTabIndexes.length; i++) {
            this._saveTabIndexes[i].tag.tabIndex = this._saveTabIndexes[i].index;
        }

        Array.clear(this._saveTabIndexes);

        //IE6 Bug with SELECT element always showing up on top
        if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.version < 7)) {
            for (var k = 0; k < this._saveDesableSelect.length; k++) {
                this._saveDesableSelect[k].tag.style.visibility = this._saveDesableSelect[k].visib;
            }
            Array.clear(this._saveDesableSelect);
        }
    },

silverlight的<object/>元素的tabIndex也恢复成了0。

关键就是这个<object/>的silverlight标签的tabIndex设置为0的这个操作,使得其周围出现了虚线边框——虽然初始状态下其tabIndex本来就是0。

我们可以做个实验,在silverlight以windowless模式嵌入到HTML页面时(非windowless模式不会出现边框),在页面初始化时(或某个事件触发时)显示将silverlight的<object/>标签的tabIndex设置为0:

<Script>
   document.getElementById("silverlightObjectElementId").tabIndex = 0;
</Script>

这时,当鼠标点击Silverlight程序时,周围就会浮现虚线边框,如图:

Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题

为解决这个问题,可以在<object />元素的onfocus事件进行处理,让它不要得到焦点:

    <script language=javascript>
        document.getElementById("silverlightObjectElementId").onfocus = function() {
            if (this.tabIndex != -1) {
                this.tabIndex = -1;
            }
        }
    </script>

另外,也可以在onpropertychange事件里进行处理,需要注意的是在firefox里不支持onpropertychange,而是oninput.

上一页  1 2 3 4 

Tags:Silverlight 嵌入 HTML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接