2012-03-09 14 views
5

Sono in procinto di apprendere JQuery mentre sto eseguendo una riprogettazione importante di un sito. Mi rendo conto di quanto sarebbe bello fare dello styling in javascript invece di ricordare di aggiungere la classe css giusta ad ogni div (a quanto pare, mi piace dimenticare queste cose).Cambia stile per tutti gli elementi con un evento click

In ogni caso, desidero aggiungere lo stile cursor: pointer; a tutti gli elementi per cui è stato registrato un evento click. Penso che ha bisogno di essere simile a questa:

$("div").Find(/*Has Click Event*/) 
    .css("cursor", "pointer"); 
+3

In termini di prestazioni, penso che sarebbe meglio per te da ricordare di aggiungere questo negli stili, di quanto non facciano un javascript soluzione alternativa – Curt

+0

http://stackoverflow.com/questions/1515069/jquery-check-if-event-exists-on-element e http://www.codenothing.com/archives/jquery/event-filter/ – NimChimpsky

+1

Leggi questo: http://stackoverflow.com/questions/1236067/test-if-event-handler-is-bound-to-an-element-in-jquery Come ha detto Curt, non sarà efficiente usare JS per farlo ma è possibile o ottenere questo plugin http://www.codenothing.com/archives/jquery/event-filter/ –

risposta

2
$("div").each(function() { 
    if($(this).data("events") !== 'undefined' && $(this).data("events").click) { 
     $(this).css({"cursor": "pointer", "border": "1px solid red"}); 
    } 
});​ 

Demo.

+0

il primo selettore dovrebbe essere div non asterisco? (per la puprose di questa domanda) – NimChimpsky

Problemi correlati