精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
由浏览器的DOM实现自然触发的事件对任何Web应用都是至关重要的,但是,在JQuery代码中并不局限于使用这些事件。而是可以在这些事件的基础上,再添加自定义事件。
自定义事件必须在代码中通过手工方式来触发。某种意义讲,自定义事件类似于我们平常定义的函数,因为它们都是一个预定义的代码块,可以在脚本中的其他地方调用执行。. bind()方法对应着一个函数的定义,而. trigger()方法对应着一次函数调用。
但事件处理顺序与触发它们的代码是分离的。这意味着我们可以在任何时间触发事件,而不需要知道触发事件之后会发生什么。可以像调用常规函数一样仅触发执行一个绑定的事件处理程序,也可以触发执行多个事件处理程序,甚至可以不执行任何事件处理程序。
// jqyery 自定义事件 var bit; $(document).ready(function () { bit = $('#bit');> bit.click(function(){ vat e = jqyery.Event('myevent'); bit.trigger(e); }) bit.bind('click',function(){ console.log(event); }) }) $(document).ready(function(){ $('e').on('click',shiow); //绑定事件 $('e').off('click',shiow); //解除事件 $('e').bind('click',shiow); //绑定事件 $('e').onbind('click',shiow); //解除事件 }) function shiow(){ console.log(e); }
下面的代码是它自定义事件触发。你可以绑定到这个自定义事件。
$event.trigger("myEventName");
下面的代码创建了一个绑定到自定义事件和自定义事件触发时将被执行。
$(this).bind("myEventName",function(){ alert("myEventName triggered"); });
就像多个不同的事件处理程序可以响应相同事件一样,相同的事件也可以通过多种不同的方式来触发。所谓无穷滚动,是一种让用户控制滚动条来加载内容的流行技术,即到达目前加载的内容底部时,就会自动获得新内容。
在定义函数时,可以设置任意数量的参数。而在调用函数时,再给这些参数实际地传入值。类似的,在触发自定义事件时,我们也可以给任何注册的事件处理程序传入额外的信息。这种技术就叫做自定义事件参数。
任何事件处理程序的第一个参数是由JQuery增强和扩展之后的DOM事件对象。在这个参数之后,我们可以根据需要传递任意数量的参数。