如何在JQuery UI Selectable上实现切换功能
How to implement toggle functionality on JQuery UI Selectable?
我使用JQuery UI -可选择的。我想取消选中的元素,如果它已被按下,它已经被选中(切换)
你能帮我添加这个功能吗?
由于所有的类回调,您不会做得比这更好:
$(function () {
$("#selectable").selectable({
selected: function (event, ui) {
if ($(ui.selected).hasClass('click-selected')) {
$(ui.selected).removeClass('ui-selected click-selected');
} else {
$(ui.selected).addClass('click-selected');
}
},
unselected: function (event, ui) {
$(ui.unselected).removeClass('click-selected');
}
});
});
如果你在点击时按住Ctrl键,你已经有了jQuery UI可选择的功能。
如果你真的需要它作为默认功能,你不需要使用selectable,你可以像nolabel建议的那样,把它作为一个简单的onclick处理程序来实现。
还是……你也可以编辑jquery.ui.selectable.js并添加一个你需要的选项。应该不会太难,有4个地方事件。metaKey被选中,确保你的选项被设置,只运行代码路径,如果事件。我一直都是真的。
由于selectables可以使用更多的自定义,您也可以向jQuery UI开发人员提出特性请求,以便在下一个正式版本中包含它。
您必须在代码中注入两个简单的元素来实现您想要的效果。当你需要反转/切换功能时,这只是反转metaKey布尔值。
options: {
appendTo: 'body',
autoRefresh: true,
distance: 0,
filter: '*',
tolerance: 'touch',
inverted: false /* <= FIRST*/
},
_mouseStart: function(event) {
var self = this;
this.opos = [event.pageX, event.pageY];
if (this.options.disabled)
return;
var options = this.options;
if (options.inverted) /* <= SECOND*/
event.metaKey = !event.metaKey; /* <= SECOND*/
相关文章:
- 如何在Javascript中实现剪切、复制和粘贴功能
- 如何在对象上实现类似拼接的功能
- 使用触摸启动导航下拉菜单,以实现 IOS 功能
- 如何使用 get_template_directory_uri() 正确实现 jQuery 菜单功能到 Wordpres
- 如何实现 Javascript 自动完成功能
- jPlayer-通过Javascript实现回放功能
- 如何在纯JS中实现jQuery.map()的等效功能
- 在Javascript中实现倒带功能
- 在以下情况下,如何使用AJAX实现删除功能
- 自动执行Javascript中的功能,用于评测实现
- 如何在Java中实现与JavaScriptString.replace(RegEx,function)相同的功能
- androidphonegap-在单个html页面中导航功能或事件时实现后退按钮
- AngularJs 实现搜索功能
- 在 IOS 中实现 JS 功能
- 如何将此功能实现到我的索引.html
- 如何通过点击实现下载功能?[使用电话间隙]
- 如何使用ng模型实现功能绑定(使用plnkr)
- 'Ctrl+B'使用inputtype=按钮通过jQuery实现功能
- 使用HTML代码在JavaScript中实现功能
- jQuery按钮,需要点击两次才能实现功能