jquery中的bind事件在手机客户端使用时遇到的问题
2013-07-22 11:48
176 查看
上星期写了个提示框,因为原来找的提示框插件不好用,样式也不够美观,于是自己写了一个,这里用到了jquery中的bind事件,开始没发现什么问题,但今天却发现了,bind有记忆功能.....也就是能记住上一次调用提示框操作,比如:上一次我调用这个提示款后,会调用一个接口更新加载一些内容,在我下次在其他页面调用这个提示框的时候,竟然回到了上一次,提示框确认后的操作,也就是去调用了上一次确认提示后调用的那个接口函数,而且回到了上次使用的那个页面中去了...这问题很恶心...
//这是出了问题的写法
$("#aa").bind("click",function(){ //绑定确认按钮事件
$(".palert").hide();//隐藏提示框
if(fun!=null){//fun函数不为空时调用该函数
fun();
}else{
....
}
});
也是就说这样写的话,会记住上一次调用的function,也就能回到上一次调用的页面中去...
解决办法是去掉bind事件,用unbind(); 如下:
$("#aa").bind("click",function(){
$(".palert").hide();
if(fun!=null){
fun();
}else{
...
}
$("#aa").unbind();//去掉bind事件
});
问题解决了,但不是很清楚这其中的原因。
//这是出了问题的写法
$("#aa").bind("click",function(){ //绑定确认按钮事件
$(".palert").hide();//隐藏提示框
if(fun!=null){//fun函数不为空时调用该函数
fun();
}else{
....
}
});
也是就说这样写的话,会记住上一次调用的function,也就能回到上一次调用的页面中去...
解决办法是去掉bind事件,用unbind(); 如下:
$("#aa").bind("click",function(){
$(".palert").hide();
if(fun!=null){
fun();
}else{
...
}
$("#aa").unbind();//去掉bind事件
});
问题解决了,但不是很清楚这其中的原因。
相关文章推荐
- 在使用 SQL Server 的过程中,用户遇到最多的问题莫过于连接失败了。一般而言,有两种连接SQL Server 的方式,一是利用 SQL Server 自带的客户端工具
- bootstrap jquery table 使用中遇到的问题
- 开发中遇到的jQuery 事件处理机制的问题
- jquery获取获取this出错、与键盘事件结合使用出现问题
- JQuery中使用ajax提交表单遇到的问题
- jquery.easyui代码详解,和遇到的问题,提供大家在使用的时候少走弯路(一)
- 在win2003server上使用移动硬盘时遇到的问题以及禁用“关闭事件跟踪程序”
- 使用 jQuery.ajax 上传带文件的表单遇到的问题
- 数据库客户端DataGrip使用中遇到的问题
- [总结]使用WPF路由事件过程中遇到的一些小问题
- jquery url检测遇到的jquery跨域问题及JSONP的使用
- js的image onload事件使用遇到的问题
- 这两天使用jquery-mobile写手机页面遇到的append样式不生效,以及listview内容显示不完解决方法
- js/jquery使用过程遇到的问题
- jquery.validate使用时遇到的问题
- 2017-10-11-jquery-使用ajax传递参数遇到的一个问题
- jQuery使用on()绑定动态生成元素的事件无效的问题
- 当使用servlet输出json时,浏览器端jquery的ajax遇到parse error的问题
- 当使用servlet输出json时,浏览器端jquery的ajax遇到parse error的问题
- ZeroClipboard / jquery.zclip.min.js跨浏览器复制插件使用中遇到的问题解决