Ir ao conteúdo
  • Cadastre-se
Joao_Lucaas

É possível alterar esse código, para "atacar" mais de um elemento?

Recommended Posts

Esse código funciona selecionando um elemento e copiando-o, mas é somente um elemento. Esse código é muito avançado para eu entender e modificar (apesar de já ter tentado), por isso, queria saber se alguém poderia me dizer onde modifico, para ele selecionar duas divs, por exemplo.

No HTML fica assim:

onclick="return fieldtoclipboard.copyfield(event, 'id-do-elemento')"

tentei colocar mais de 1 id, mas não deu certo. A situação é a mesma, quando coloco classes ou names.

O código em JS:

//field to clipboard --------------------------------------------------------------------------
var fieldtoclipboard = {
	
	selectelement:function(el){
    var range = document.createRange() // create new range object
    range.selectNodeContents(el)
    var selection = window.getSelection() // get Selection object from currently user selected text
    selection.removeAllRanges() // unselect any user selected text (if any)
    selection.addRange(range) // add range to Selection object to select it
	},
	
	copyfield:function(e, fieldref, callback){
		var field = (typeof fieldref == 'string')? document.getElementById(fieldref) : fieldref
		callbackref = callback || function(){}
		if (/(textarea)|(input)/i.test(field) && field.setSelectionRange){
			field.focus()
			field.setSelectionRange(0, field.value.length) // for iOS sake
		}
		else if (field && document.createRange){
			this.selectelement(field)
		}
		else if (field == null){ // copy currently selected text on document
			field = {value:null}
		}
		var copysuccess // var to check whether execCommand successfully executed
		try{
			copysuccess = document.execCommand("copy")
		}catch(e){
			copysuccess = false
		if (copysuccess){ // execute desired code whenever text has been successfully copied
		}
			if (e){
				this.showtooltip(e)
			}
			callbackref(field.value || window.getSelection().toString())
		}
		return false
	},

}

Também já tentei modificar este trecho:

 document.getElementById(fieldref)

Por isso:

document.getElementsByClassName(fieldref)

Podem me ajudar?:tw_flushed:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×