解决easuyi的linkbutton在按钮失效时,还会触发jquery的click事件的问题。
来源:互联网 发布:淘宝人像摄影 编辑:程序博客网 时间:2024/05/16 05:39
查看linkbutton的源码,发现按钮失效时,只处理了href属性和onclick属性产生的事件。
function setDisabled(target, disabled){var state = $.data(target, 'linkbutton');var opts = state.options;$(target).removeClass('l-btn-disabled l-btn-plain-disabled');if (disabled){opts.disabled = true;var href = $(target).attr('href');if (href){state.href = href;$(target).attr('href', 'javascript:void(0)');}if (target.onclick){state.onclick = target.onclick;target.onclick = null;}opts.plain ? $(target).addClass('l-btn-disabled l-btn-plain-disabled') : $(target).addClass('l-btn-disabled');} else {opts.disabled = false;if (state.href) {$(target).attr('href', state.href);}if (state.onclick) {target.onclick = state.onclick;}}}
如果linkbutton在创建时就设了disable属性,扩展无用,因为这时会调用easuyi本身的失效方法。
$.extend($.fn.linkbutton.methods, { disable: function (jq, newposition) { return jq.each(function () { setDisabled(this, true); }); }, enable: function (jq, newposition) { return jq.each(function () { setDisabled(this, false); }); } }); function setDisabled(target, disabled) { var state = $.data(target, 'linkbutton'); var opts = state.options; $(target).removeClass('l-btn-disabled l-btn-plain-disabled'); if (disabled) { opts.disabled = true; var href = $(target).attr('href'); if (href) { state.href = href; $(target).attr('href', 'javascript:void(0)'); } if (target.onclick) { state.onclick = target.onclick; target.onclick = null; } if ($._data(target).events && $._data(target).events.click) { state.jclick = $._data(target).events.click.map(function (r) { return { namespace: r.namespace, handler: r.handler }; }); $(target).unbind('click'); } opts.plain ? $(target).addClass('l-btn-disabled l-btn-plain-disabled') : $(target).addClass('l-btn-disabled'); } else { opts.disabled = false; if (state.href) { $(target).attr('href', state.href); } if (state.onclick) { target.onclick = state.onclick; } if (state.jclick) for (var i = 0; i < state.jclick.length; i++) { var click = state.jclick[i]; $(target).bind('click' + (click.namespace ? '.' + click.namespace : ''), click.handler); } } }
0 0
- 解决easuyi的linkbutton在按钮失效时,还会触发jquery的click事件的问题。
- jquery在某种情况下绑定click事件会触发多次click的解决方案
- jquery的click事件失效
- 按回车触发按钮click事件的问题
- 按回车触发按钮click事件的问题
- 单击按钮触发file的click事件
- 回车触发按钮的click事件
- 关于jQuery的click事件不能触发的问题.
- jquery 触发元素 a 的 click() 事件不生效 问题
- 解决动态生成input无法触发click事件的问题
- 解决动态生成input无法触发click事件的问题
- 在TextBox中点击回车时 触发指定按钮click事件的解决方案
- 关于jquery中on绑定click事件在苹果手机失效的问题
- 关于jquery中on绑定click事件在苹果手机失效的问题
- jquery中on绑定click事件在苹果手机失效的问题
- 触发checkbox的click事件时遇到的问题
- 触发checkbox的click事件时遇到的问题
- jquery live方法,解决jquery动态添加按钮无法触发点击事件的问题
- 【spoj375】树链剖分 裸题
- DeepID3:Face Recognition with Very Deep Neural Networks
- java8 write file 写文件
- Slim读/写锁(SRWLock)及同步方式比较
- hdu1598 find the most comfortable road(并查集)
- 解决easuyi的linkbutton在按钮失效时,还会触发jquery的click事件的问题。
- mysql 安装后不能使用cmd进行访问
- 常用的MyEclipse快捷键(方便快捷)
- Android 内存泄漏分析利器——leakcanary
- vs2010编译运行出现LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏的解决办法
- 实现View上添加标签
- 4维数据显示 4 Dimensional visualization
- Google 多源码管理工具 gclient
- Swift中如何使用第三方库?