buonasera,

ho difficoltà a trovare un titolo adeguato a ciò che sto per chiedervi

allora mi trovo davanti una variabile che ritorna una funzione questo è il codice

codice:
      var ifEnabled = function (f) {
        return function () {
          if (!$input.prop('disabled') && !$input.prop('readonly')) {
            f.call(this);
          }
        }
      };
poi ho un'altra variabile dalla quale gestirò dei css e chiamerò altre funzioni

codice:
      var $rating = $('<div></div>').insertBefore($input);
      for (var i = 0; i < rateToIndex(opts.stop); i++) {
        $rating.append('<div class="rating-symbol ' + opts.empty + '"></div>');
      }
bene, adesso la mia domanda è questa, ho questo comando che attribuisco alla variabile rating

codice:
$rating.on('mouseenter', '.rating-symbol', ifEnabled(function () {
          // Emphasize on hover in.
          fillUntil($(this).index());
          $(this).css('cursor','pointer');
        }))
come potete vedere se tutto fila quanto l'elemento non ha le proprietà 'disabled' e 'readonly' subentrano queste funzioni, io vorrei fare che quando l'elemento ha queste proprietà quindi disabled e readonly subentri nel mouseenter un'altra funzione.

non in sostituzione ma in aggiunta allo stesso evento

quindi ipotizziamo di aver creato la variabile ifDisabled (praticamente identica alla variabile ifEnabled solo che subentra solo quando le proprietà di $input sono disabled e readonly)

è sintatticcamente corretto scrivere quindi:

codice:
$rating.on('mouseenter', '.rating-symbol', ifDisabled(function () { $(this).css('cursor','not-allowed');}))
se non sbaglio giusto? bene, se creo una stringa del genere sotto il mio $rating.on già esistenze, quella appena creata non funziona, c'è quindi un metodo per verificare entrambe le condizioni senza dover riscrivere la stringa?

non so se mi sono spiegato bene