Forms 如何将onmouseover事件添加到所有drupal表单?

Forms 如何将onmouseover事件添加到所有drupal表单?,forms,drupal,button,themes,onmouseover,Forms,Drupal,Button,Themes,Onmouseover,我想在drupal站点上所有表单的提交按钮中添加一个onmouseover事件 我该怎么做 Ben使用jQuery: $(document).ready(function(){ $('input[type="submit"]').hover( function(){ // Do something with $(this) } ); }); 编辑:使用另一种可能的解决方案进行更新,因为您只需要更新背景色 如果你不关心IE6的支持,你也可

我想在drupal站点上所有表单的提交按钮中添加一个onmouseover事件

我该怎么做

Ben

使用jQuery:

$(document).ready(function(){
    $('input[type="submit"]').hover(
      function(){ 
        // Do something with $(this)
      }
    );
});
编辑:使用另一种可能的解决方案进行更新,因为您只需要更新背景色

如果你不关心IE6的支持,你也可以为你的提交按钮使用CSS伪选择器,而不需要任何javascript。确保所有提交按钮都设置了一个类(在本例中,我使用
'submit'
作为类名)


通过向自定义模块添加以下代码,我成功地部分解决了问题:

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

但是,这只适用于提交按钮,我希望它适用于所有按钮。我尝试用“按钮”替换“提交”,但代码完全停止工作。

为了澄清,可以在主题或自定义模块中完成上述操作。如果使用自定义模块路由(这可能有意义,也可能没有意义,取决于所完成的工作),只需使用hook_init使用drupal_add_JS()添加一些JS,您就可以开始了。另外,不要使用$(document)。使用drupal方法并添加行为是一个好主意,请参阅此处了解详细信息:我查看了链接。我不知道该把密码放在哪里。我基本上是在尝试改变我所有的按钮,以便在鼠标上方它们都变成红色。你能再给我解释一下吗?谢谢。关于使用:hover CSS伪选择器的另一种可能的解决方案,请参阅我的更新答案。不幸的是,我需要考虑ie6,这就是为什么我要采用javascript解决方案的原因。
function defprofile_form_alter(&$form, &$form_state, $form_id) {
    $form['submit']['#attributes'] = array('onMouseOver' => "this.style.backgroundColor='#cc0000'",'onMouseOut' => "this.style.backgroundColor='#000'"); }