扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
varelem=$("input[type=text]").eq(0);elem.on("click",function(e){$(e.target).blur();})
我们提供的服务有:网站制作、成都网站设计、微信公众号开发、网站优化、网站认证、濮阳县ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的濮阳县网站制作公司
我查了一下 你使用的这个插件的文档,自带解绑函数:
$dp.unbind (4.8beta4新增)
而你采用的是 Jquery 的解绑方法,你并不能确定 这款插件绑定的事件 是 focus ,还是 click 还是别的。
$("#element").click(function(){}); //绑定点击事件函数
$("#element").unbind(); //解绑点击事件
先简单说下jQuery绑定和解绑点击事件的方法
$("#element").click(function(){}); //绑定点击事件函数
$("#element").unbind(); //解绑点击事件
$("#element").click(function(){}); //绑定其它函数
即,要对一个绑定过点击事件的元素绑定其它函数,需先对其解绑。
上面的代码看起来好简单,但是实际应用中却要复杂的多。举一个项目中的实例吧。
两个显示标签云的DIV,DIV1显示选中的标签,DIV2显示可选的标签。DIV2中的任一个标签被点中后会从DIV2中消失并添加到DIV1中,再在DIV1点击它时,它又会回到DIV2。两个DIV中的标签总数、单个标签的内容保持不变。这个效果我花了差不多一个半小时才搞定,就是因为对jQuery绑定和解绑点击事件理解的不到位。
我最开始的理解是:当一个标签从DIV1中移除并添加到DIV2中时,其原来绑定的所有事件都会消失,我可以从DIV2中析取这个标签并给它绑定新的点击事件。结果是:再点击它时它并没有回到DIV1,而是还是在DIV2中,只是位置被移到了最后。我误以为这个标签还属于DIV1,殊不知不是DIV的归属问题,而是点击事件的绑定问题。
先看下jquery $.fn $.fx是什么意思
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。
如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了.
那么你可以这样子:$("#div").abc();
这个您最好做一个全局的变量来判断,这样才好控制其执行与不执行,省去多余的重复的绑定。
另外一种就是实例开始已经对元素绑定了事件,那么只需要unbind其事件即可,前提是fn里的绑定事件也是用bind绑定的。
var isbind=true;
function jiebang(){
isbind=false;
}
$(function(){
$('.ABC').swipeSS();
});
;(function(win,$){
$.fn.swipeS = function(options){
return this.each(function(){
$(this).on("touchstart", function(event) {
if(!isbind){return;}//这里判断
alert( $( this ).css('height') );
}
}
}
直接把onchange这个属性去掉就好了,removeAttr这个方法,去了解一下
$(selector).unbind();
或者
$(selector).off();
如果指定事件,把事件名字传参就可以了
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流