2012-06-04 17 views
5

Sé que hay un complemento llamado .hasClass();jQuery elemento de verificación ID

Tengo el siguiente

$('#page_background, #header_background').ColorPicker({...

cómo iba a comprobar si se hace clic en page_background y no header_background?

Esto es lo que tengo ahora, no funcionará.

$('#page_background, #header_background').ColorPicker({ 
     onSubmit: function(hsb, hex, rgb, el) { 
      $(el).val(hex); 
      $(el).ColorPickerHide(); 

      var id = this.id; 

      if(id == 'page_background') 
       $('body').css("background-color","#"+hex); 
     }, 
     onBeforeShow: function() { 
      $(this).ColorPickerSetColor(this.value); 
     } 
    }) 
    .bind('keyup', function(){ 
     $(this).ColorPickerSetColor(this.value); 
    }); 
+0

estás buscando el id 'background_color' howe ver que no está vinculando el evento de clic a un elemento que tiene esa identificación. (basado en la edición que acaba de revertir, supongo) –

Respuesta

8
$(function(){ 
    $('#page_background, #header_background').click(function(){ 

    var id = this.id; 
    if(id == 'page_background') 
    // page background 
    else 
    //header 
}); 
}); 

Working fiddle

Como está usando este colorpicker dentro onSubmit función

onSubmit: function(hsb, hex, rgb, el) { 

donde se obtiene el elemento que el, por lo que para obtener el id uso

var id = $(el).attr('id'); 
// or 
var id = $(el).prop('id'); // new way 
//or simply 
var id = el.id; // this should work too 
+0

no funcionó, ¿cuál podría ser el problema? – Grigor

+0

Compruebe el violín y haga clic en cualquier texto. –

+0

dice this.attr no es una función – Grigor

4

Asumiendo que tiene una referencia al elemento hecho clic almacenada en this, sólo tiene que utilizar la propiedad DOM orígenes:

var id = this.id; 

Si this es un objeto jQuery, no un nodo DOM, puede use this.attr("id").

También tenga en cuenta que hasClass es un método jQuery normal, no un plugin. Es parte de la biblioteca jQuery estándar.

+0

... o 'prop (" id ")' también (en las nuevas versiones). – VisioN

Cuestiones relacionadas