我終於想通了。我試過Javascirpt/jquery,但不能解決它,因爲頁面還沒有完全呈現。所有面板都以編程方式放置,所以使用window.load函數確實有所幫助,因爲即使在放置面板之前它已被調用。我所做的就是利用gwt的RootPanel.class(它已被應用程序使用,我只是不知道它是什麼)sicne我只是java /項目本身的新手。
任務:擺脫所有帶有-1值的tabindex,爲所有腳本標籤添加type =「tex/javascript」,爲樣式標籤添加type =「text/css」,向所有img標籤添加alt。這些都是爲了驗證html。
我不確定這是最好的方式,它肯定會加起來慢加載,但客戶堅持認爲,即使我推理,我也這樣做。所以在這裏,它是:
RootPanel mainPanel = RootPanel.get(Test_ROOT_PANEL_ID);
Widget widget = (Widget) getEntryView();
mainPanel.add((widget));
// Enable the view disable the loading view. There should always be
// the loading panel to disable.
Element mainPanelelement = DOM.getElementById(Test_ROOT_PANEL_ID);
Element loadingMessage = DOM.getElementById(LOADING_MESSAGE);
Element parent = loadingMessage.getParentElement();
if(parent!=null)
{
//i had to use prev sibling because it is the only way(I know?) on how to access the body //tag that contains the scripts that are being generated by GWT ex.bigdecimal.js
Element body = parent.getPreviousSibling().getParentElement();
if(body!=null)
{
NodeList<Element> elms = body.getElementsByTagName("*");
if(elms.getLength()>0)
{
Element element=null;
for(int i=0; i<=elms.getLength(); i++)
{
if(elms.getItem(i)!=null)
{
element = elms.getItem(i);
if(element.getTagName().compareToIgnoreCase("script")==0)
element.setAttribute("type", "text/javascript");
else if(element.getTagName().compareToIgnoreCase("style")==0)
element.setAttribute("type", "text/css");
else if(element.getTagName().compareToIgnoreCase("img")==0)
{
if(element.getAttribute("alt")=="")
element.setAttribute("alt", element.getAttribute("title")!=" " ? element.getTitle() : " ");
}
else
{
if(element.getTabIndex()<=0)
element.removeAttribute("tabindex");
}
}
}
}
}
}
DOM.setStyleAttribute((com.google.gwt.user.client.Element) loadingMessage, "display", "none");
DOM.setStyleAttribute((com.google.gwt.user.client.Element) mainPanelelement, "display", "inline");
// Change cursor back to default.
RootPanel.getBodyElement().getStyle().setProperty("cursor", "default");
}
這是你在找什麼? [JavaScript的jquery的從 - 的tabindex除去-] [1] [1]:http://stackoverflow.com/questions/1987927/javascript-jquery-remove-from-tabindex – Danny
抱歉沒有。我想完全刪除tabindex。在我發佈之前,我已經閱讀過那本書。謝謝。 – user742102
你也可以完全禁用頁面上的tab鍵。 – user1133275