gpt4 book ai didi

jquery - Drupal 行为

转载 作者:行者123 更新时间:2023-12-03 21:25:45 25 4
gpt4 key购买 nike

  • Drupal 的行为到底是什么?
  • 它为模块开发人员提供什么类型的服务层?
  • 它映射到 jQuery.ready 的关系类型是什么?

最佳答案

长版:Drupal.behaviors 不仅仅是 jQuery.ready 的替代品,因为后者只运行一次(当 DOM 准备好操作时):行为可以在页面执行期间多次触发,并且每当新的 DOM 元素插入到文档中时就可以运行。

此外,模块可以覆盖或扩展现有行为(例如,如果一个模块具有在所有链接上添加弹跳效果的行为,则第二个模块可以通过不同的弹跳效果替换该行为)。

简短版本:它更加模块化,尽管文档可以改进。

<小时/>

此外,从 Drupal 7 开始,使用 drupal_add_js (PHP) 或 Drupal.settings.modulename (Javascript) 定义的设置将直接作为第二个参数传递(第一个参数)其中之一是行为的上下文。

例如:

Drupal.behaviors.changeLinks = function(context, settings){
if (!settings) settings = Drupal.settings.changeLinks;
$("a", context).hover(function() {
$(this).css('color', settings.color);
});
};

如果您的一个脚本(或另一个脚本)创建了新节点,它仍然可以将行为应用于新节点,而无需知道安装了哪些其他模块:

var newNodes = $('<a href="#">Hello</a> <a href="#">World</a>').appendTo('#someDiv');

Drupal.attachBehaviors(newNodes);

关于jquery - Drupal 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3941426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com