2011-10-17 27 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" });