2011-10-17 4 views
0

J'ai des boutons construits avec JavaScript et je veux ajouter TabIndex pour l'accessibilité au clavier. J'ai ajouté des valeurs accesskey dans ce code et ce code:Ajouter TabIndex aux boutons construits par 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() 

Mais quand j'ai essayé d'ajouter TabIndex, le nombre TabIndex ne fonctionne pas. Aucune suggestion? Voici le script:

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 rendrait votre code beaucoup, beaucoup plus agréable. – ThiefMaster

Répondre

2

Vous ne devriez pas construire vos éléments de cette façon. Utilisez document.createElement() à la place:

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

Vous pouvez aussi le faire de cette façon:

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

Vous pouvez également utiliser jQuery pour cela:

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