Thickbox使用中的一些问题

thickbox是一个UI框架

在<head>部分就把thickbox的js和css加载到<html>文档中

当把<html>文档加载完后,就会给所有的class="thickbox"的元素绑定好事件

若加载完后,用Js添加或修改的class="thickbox"的元素,此时的class="thickbox"会失效,若是链接则只会在本页面打开链接,而不是在父窗口弹出一个层。

则需要为class="thickbox"的重新绑定事件

tb_init('a.thickbox, area.thickbox, input.thickbox');
这样就能让修改或添加的class="thickbox"的元素能调用到thickbox中的方法

但是这样$(document).ready(function(){});会再加载一次。

在使用ajax的时候,经常会返回一个页面,页面当中可能会有class="thickbox"的元素,若在返回的页面的末尾加上一句

tb_init('a.thickbox, area.thickbox, input.thickbox');
此时可能会出现原来的函数会执行两次,影响到结果。

这时就可以将tb_init添加到处理返回ajax的结果的function里,并再加一句,取消绑定,再重新tb_init。

	$.post(url,null,function(result){
		/***js处理结果***/
		$('a.thickbox').unbind('click');//取消a中class="thickbox"的绑定
		tb_init('a.thickbox, area.thickbox, input.thickbox');//重新绑定页面中class="thickbox"的元素
	});
这样就不会出现加载两次的现象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值