Как я могу добавить событие onmouseover ко всем формам drupal? - PullRequest
0 голосов
/ 26 января 2010

Я хочу добавить событие onmouseover к кнопке отправки всех форм на моем сайте drupal.

Как я могу это сделать?

Ben

Ответы [ 2 ]

0 голосов
/ 27 января 2010

Мне удалось частично решить мою проблему, добавив следующий код в пользовательский модуль:

function defprofile_form_alter(&$form, &$form_state, $form_id) {
    $form['submit']['#attributes'] = array('onMouseOver' => "this.style.backgroundColor='#cc0000'",'onMouseOut' => "this.style.backgroundColor='#000'"); }

Однако это работает только для кнопок отправки, и я хочу, чтобы это работало для всех кнопок. Я пытался заменить «отправить» на «кнопку», но затем код перестает работать вообще.

0 голосов
/ 26 января 2010

С jQuery:

$(document).ready(function(){
    $('input[type="submit"]').hover(
      function(){ 
        // Do something with $(this)
      }
    );
});

РЕДАКТИРОВАТЬ: Обновлено с другим возможным решением, поскольку вам просто нужно обновить цвет фона.

Если вам не нужна поддержка IE6, вы также можете использовать псевдоселектор :hover CSS для кнопок отправки и не нуждаться в JavaScript. Убедитесь, что для всех ваших кнопок отправки установлен класс (в этом примере я использую 'submit' в качестве имени класса).

.submit {
  background-color: #ddd;
}
.submit:hover {
  background-color: #f00;
}
...