【问题标题】:Overriding Drupal javascript behaviors覆盖 Drupal javascript 行为
【发布时间】:2010-10-27 21:26:18
【问题描述】:

我想覆盖评论表单上的一些核心 drupal 行为。

如果您以匿名用户的身份发表评论,您的姓名和邮件将存储在 cookie 中,然后 javascript 使用以下代码填写后续评论表单中的相应字段:

Drupal.behaviors.comment = function (context) {
  var parts = new Array("name", "homepage", "mail");
  var cookie = '';
  for (i=0;i<3;i++) {
    cookie = Drupal.comment.getCookie('comment_info_' + parts[i]);
    if (cookie != '') {
      $("#comment-form input[name=" + parts[i] + "]:not(.comment-processed)", context)
        .val(cookie)
        .addClass('comment-processed');
    }
  }
};

如果我不想填写这些字段,我知道我可以使用更多的 javascript 清除信息,但我确信有一种“更清洁”的方法可以做到这一点。

【问题讨论】:

    标签: javascript drupal drupal-6


    【解决方案1】:

    如果您有自定义模块,您应该能够覆盖 Drupal.behaviors.comment,或将其删除。

    类似

    drupal_add_js('delete Drupal.behaviors.comment','inline');
    

    当然,如果您已经包含了一个 js 文件,请将其放在那里而不是内联。

    【讨论】:

    • 感谢 Jeremy,内联版本有效。我认为在自定义 .js 文件中删除它时,comment.js 已经被执行了。
    猜你喜欢
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多