十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
事件是触发的,如果你的事件是点击,可以用jquery的click()模拟点击事件,
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站建设、沧州网络推广、小程序制作、沧州网络营销、沧州企业策划、沧州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供沧州建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
给对应的radio加个类名或者Id,然后在在需要触发的函数里写上对应radio的点击事件,如在页面加载完成时点击:
input type="radio" class="radiobox" /
$(document).ready(function(){
$(".radiobox").click();
});
类似 DOM 的行为:你在 DOM 节点(包括 document 对象)监听并触发自定义事件。这些事件既可以冒泡,也可以被拦截。这正是 Prototype、jQuery 和 MooTools 所做的。如果事件不能扩散,就必须在触发事件的对象上进行监听。
命名空间:一些框架需要你为事件指定命名空间,通常使用一个点号前缀来把你的事件和原生事件区分开。
自定义额外数据:JavaScript 框架允许你在触发自定义事件时,向事件处理器传送额外的数据。jQuery 可以向事件处理器传递任意数量的额外参数。
通用事件 API:只用 Dojo 保留了操作原生 DOM 事件的正常API。而操作自定义事件需要特殊的发布/订阅 API。这也意味着 Dojo 中的自定义事件不具有DOM事件的一些行为(比如冒泡)。
声明:我们往往需要在预定义的事件中加入一些特殊的变化(例如,需要Alt键按下才能触发的单击事件),MooTools 运行你定义此类自定义事件。此类事件需要预先声明,即便你只是声明他们的名字。任何未声明的自定义事件不会被触发。
理论太抽象,看看 jQuery 框架中如何使用事件。
jQuery 的事件自定义事件还是通过 on 绑定的,然后再通过 trigger 来触发这个事件。
//给element绑定hello事件
element.bind("hello",function(){
alert("hello world!");
});
//触发hello事件
element.trigger("hello");
这段代码这样写似乎感觉不出它的好处,看了下面的例子也许你会明白使用自定义事件的好处了,参考右边的代码。
trigger需要处理的问题
模拟事件对象,用户模拟处理停止事件冒泡(因为不是通过浏览器系统触发的,而是自动触发的,所以这个事件对象要如何处理?)
区分事件类型,触发标准的浏览器事件 和 自定义事件名绑定的处理程序。
拟冒泡机制
当事件是 click 类型,自然是本身支持冒泡这样的行为,通过 stopPropagation 阻止即可
当然一些事件,如 focusin 和 blur 本身不冒泡,但 jQuery 为了跨浏览器一致性, jQuery 需要在这些事件上模拟了冒泡行为,jQuery 要如何处理?
那么如果是自定义的aaa的事件名,又如何处理冒泡?
ul id="tabs"
li data-tab="users"Users/li
li data-tab="groups"Groups/li
/ul
div id="tabsContent"
div data-tab="users"part1/div
div data-tab="groups"part2/div
/div
script type="text/javascript"
$.fn.tabs = function(control) {
var element = $(this);
var control = $(control);
element.delegate("li", "click", function() {
var tabName = $(this).attr("data-tab");
//点击li的时候触发change.tabs自定义事件
element.trigger("change.tabs", tabName);
});
//给element绑定一个change.tabs自定义事件
element.bind("change.tabs", function(e, tabName) {
element.find("li").removeClass("active");
element.find("[data-tab='" + tabName + "']").addClass("active");
});
element.bind("change.tabs", function(e, tabName) {
control.find("[data-tab]").removeClass("active");
control.find("[data-tab='" + tabName + "']").addClass("active");
});
// 激活第一个选项卡
var firstName = element.find("li:first").attr("data-tab");
element.trigger("change.tabs", firstName);
return this;
};
$("ul#tabs").tabs("#tabsContent");
/script
1、在body中加:onload="你的函数名"
2、scriptwindow.onload="你的函数名"/script
3、script$(document).ready(function(){ 你的函数名});/script(记得引入jQuery的JS)
$('#a').click(function(){
$('#b').trigger('click');
})
模拟点击!!点击A后,B也会点击,绑定在B上的点击事件也会执行
直接变成网页加载的时候,运行不就行了吗?如果不想,可以设置时间限制,多久之后再去执行效果