八月 2009

回调和事件

很多 Javascript 框架都提供了自定义事件(custom events),例如 jQuery、YUI 以及 Dojo 都支持“document ready”事件。而部分自定义事件是源自回调(callback)。
回调将多个事件句柄存储在数组中,当满足触发条件时,回调系统则会从数组中获取对应的句柄并执行。那么,这会有什么陷阱呢?在回答这个问题之前,我们先看下代码。
下面是两段代码依次绑定到 DOMContentLoaded 事件中

document.addEventListener("DOMContentLoaded", function() {
console.log("Init: 1");
DOES_NOT_EXIST++; // 这里会抛出异常
}, false);

document.addEventListener("DOMContentLoaded", function() {
console.log("Init: 2");
}, false);
那么运行这段代码会返回什么信息?显然,会看见这些(或者类似的):

Init: 1
Error: DOES_NOT_EXIST is not defined
Init: 2
可以看出,两段函数都被执行。即使第一个函数抛出了个异常,但并不影响第二段代码运行。
麻烦
OK,我们回来看下常见框架中的回调系统。首先,我们看下 jQuery 的(因为它很流行):


本文永久地址:http://drupalsh.cn/node/160 , 转载请注明出处.

一定要收藏的15个友好的jquery提示框效果

需要在用户把光标移到某个元素上时显示一些额外信息时,提示框是一种不错的方式,提示框会在鼠标停留的时候显示,鼠标移开时消失。

适当的使用提示框能大大提升网站的友好度,并且可以节省一些不必要的网页空间,今天我们将看到15款制作友好的提示框的jQuery插件。

1. qTip

qTip是一款功能高级的提示框插件,它提供了非常多的特性,包括圆角框、提示泡泡等。
qtip


本文永久地址:http://drupalsh.cn/node/159 , 转载请注明出处.

drupal中的ahah使用

ahah在drupal6.0中是内置的,其强大的功能,可以使你不需要任何一行的jscript代码,即可轻松完成ajax的强大功能,现将使用心得介绍如下:
1、使用流程:
ahah的使用颇有意思,如果不明就理的人,还真需要一段时间来着磨。
首先在使用之前得将相应的业务函数添加至menu中
    $items ['xtest/ahah'] = array ('title' => t ( 'ahah test' ), 'page callback' => 'ahah_test', 'access arguments' => array ('access content' ), 'type' => MENU_CALLBACK );
    $items ['xtest/ahah/js'] = array ( 'page callback' => 'ahah_test_js', 'access arguments' => array ('access content' ), 'type' => MENU_CALLBACK );
ahah_test_js  -即是所要执行的ajax调用函数
xtest/ahah/js即为调用此函数的路径。
ahah_test - 是这个测试应用的首页
 
2、定义相应的form表单 ahah_form


本文永久地址:http://drupalsh.cn/node/158 , 转载请注明出处.

Drupal:AHAH AJAX异步机制

AHAH是Drupal6中Form Element的一个新的参数,可以通过Form Element来触发事件,提交AJAX请求。
AHAH的作用域

AHAH参数可被作用在以下Form Element上:

button, checkbox, image button, password, radio, select, submit, textarea, textfield

AHAH的使用

1. 为form元素增加ahah属性。

 

2. 配置AHAH的参数。

 

参数 作用

 

path 异步请求的路径。

 

wrapper 请求callback后需发生改变的DIV的ID。

 

method 改变wrapper这个DIV的方式,可以是replace或append。

 

effect 在wrapper这个DIV发生改变时的视觉效果。

 

progress 是否显示进度条,progress共4个配置项type、interval、url、message。

 


本文永久地址:http://drupalsh.cn/node/157 , 转载请注明出处.