2012-10-11 13 views
5

lo que he

que tienen un campo de texto, el margen de ganancia de la que no puede editar directamente:No se puede desactivar onclick onBlur valores de/para el campo de texto a través de jQuery

<input type="text" name="email" value="Email Address" id="subscribe-field" 
onclick="if (this.value == 'Email Address') { this.value = ''; }" 
onblur="if (this.value == '') { this.value = 'Email Address'; }"> 

Lo que necesito

Necesito que el valor del campo de texto esté en blanco, independientemente de si se hace clic en el campo de texto, no se hace clic o se presiona para salir.

Lo que he tratado

puedo desactivar el valor:

$('#subscribe-field').val(''); 

He intentado desactivar el onclick y onBlur valores:

$('#subscribe-field').click(function() { return false; }); 
$('#subscribe-field').off('click'); 
$('#subscribe-field').unbind('click'); 

... sin embargo, el valor reaparece tan pronto como hago clic fuera del campo de texto.

Mi pregunta

¿Cómo se quita el valor onBlur de lo anterior margen de ganancia?

+4

+ 1 para la pregunta bien ordenados. – Nick

+0

@OptimusPrime - Agradecimiento apreciado, gracias. –

Respuesta

6

tratan de esta manera:

$('#subscribe-field').removeAttr('onclick');

$('#subscribe-field').removeAttr('onblur');

+0

Este método funciona. Gracias. –

+2

Un jsfiddle para probarlo también: http://jsfiddle.net/8pAre/ (Quería verificarlo antes del voto favorable) – Chris

+0

@DominorNovus contenta de ayudar :) –

1

Debe eliminar JavaScript en línea. jsfiddle. El uso de jQuery.one asegurará que el evento de enfoque se llame solo una vez.

<input type="text" name="email" value="Email Address" id="subscribe-field" /> 



$('#subscribe-field').one('focus',function() { 
      this.value = ''; 
     return false; 
}); 

ACTUALIZACIÓN: Según lo sugerido por mahmoud, debe quitar onClick y onBlur atributo si no se puede editar el html.

off y unbind desenlazará jQuery click caso no coloca en línea onclick y volver falsa será también no resolvería el problema como en línea onClick se llamará en primer lugar.

+1

"Tengo un campo de texto cuyo marcado no puedo editar directamente", por lo que no puede eliminar el código JavaScript en línea. – Chris

+0

@Shusl - Gracias, pero por alguna razón, ese código no impidió que el valor volviera a aparecer al hacer clic fuera del campo de texto. ¿Debo utilizar código jQuery adicional junto con lo que ha publicado? Además, ¿es su método superior de alguna manera a lo que Mahmoud ha sugerido? –

+0

@Shusl - Actualización notada, gracias. –

Cuestiones relacionadas