2011-01-27 162 views
0

我正在开发一个Drupal模块。当页面加载时,我需要将焦点设置为第一个表单元素。我读过这可以通过使用jQuery代码 - $('#edit-name').focus();将函数添加到Drupal.behaviors

如何将此代码添加到Drupal.behaviors中,以便在加载页面时自动调用我的代码?

回答

3

以下是有关如何使用行为的示例:Drupal.behaviors

因此,所有你需要做的就是把这个.js文件(或内联添加它): 对于Drupal6:

Drupal.behaviors.focus = function (context) { 
    $('#edit-name').focus(); 
}; 

对于Drupal7:

(function($) { 
    Drupal.behaviors.focus = { 
     attach:function(context,settings) { 
      $('#edit-name').focus(); 
    } 
    } 
})(jQuery); 
+0

你的先生是我的“今天的互联网英雄” – SpaceBeers 2012-05-30 16:30:39

1

drupal_add_js("$('#edit-name').focus();", "inline"); in module。在主题中,它取决于你想要这个脚本的位置,可能只是在page-XXX.tpl.php中添加脚本的直接代码。在预处理器中的template.php中,您可以使用上面的代码。