2011-10-17 31 views
0

我有用JavaScript構建的按鈕,並且希望爲鍵盤輔助功能添加TabIndex。我在此代碼,這段代碼加ACCESSKEY值:將TabIndex添加到由JavaScript構建的按鈕

button41 = new ObjButton('button41',null,679,0,53,32,1,54,'div') 
button41.setImages('images/0807_help.jpg','images/0807_help_over.jpg','images/0807_help_over.jpg') 
button41.onUp = button41onUp 
button41.hasOnUp = true 
button41.capture=4 
button41.setAccessKey(2) 
button41.setTabIndex(2) 
button41.build() 

但是,當我試圖添加的TabIndex中,tabIndex數量沒有工作。有什麼建議麼?這裏是腳本:

function ObjButtonBuild() { 
    this.css = buildCSS(this.name,this.x,this.y,this.w,this.h,this.v,this.z) 
    this.div = '<' + this.divTag + ' id="'+this.name+'" style="text-indent:0;"></' + this.divTag + '>\n' 
    this.divInt = '<a name="'+this.name+'anc" href="javascript:void(null)"' 
    if(this.accessKeyValue && this.accessKeyValue!=null) { 
     this.divInt+=' accessKey='+this.accessKeyValue+' '; 
    } 
    if(this.altName) 
     this.divInt += ' title="'+this.altName+'"' 
    else if(this.altName != null) 
     this.divInt += ' title=""' 
     this.divInt += '><img name="'+this.name+'Img" src="'+this.imgOffSrc 
    if(this.altName) 
     this.divInt += '" alt="'+this.altName 
    else if(this.altName != null) 
     this.divInt += '" alt="' 
     this.divInt += '" width='+this.w+' height='+this.h+' border=0' 
    if(!is.ns4) 
     this.divInt += ' style="cursor:pointer"' 
     this.divInt += '></a>' 
} 
+0

的jQuery將使你的代碼了,更漂亮。 – ThiefMaster

回答

2

你不應該這樣構建你的元素。使用document.createElement()代替:

var el = document.createElement("a"); 
if (el){ 
    el.name = "foo"; 
    el.href = "somepage.htm"; 
    el.tabIndex = 3; 
} 

你也可以這樣來做:

var el = document.createElement("a"); 
if (el){ 
    el.setAttribute("class", "someclass"); 
    el.setAttribute("name", "foo"); 
    el.setAttribute("href", "somepage.htm"); 
    el.setAttribute("tabIndex", "3"); 
} 

您還可以使用jQuery這個:

var el = $("<a>", { name : "foo", href : "somepage.htm", tabIndex : "6" });