Jquery 如何取消tablesorter插件中的排序事件?
我想知道这是否可能: 在活动期间,我想检查某些条件,如果该条件为真,我想立即取消活动 在下面的例子中,如果满足这个条件,我想根本不允许用户对表进行排序Jquery 如何取消tablesorter插件中的排序事件?,jquery,tablesorter,Jquery,Tablesorter,我想知道这是否可能: 在活动期间,我想检查某些条件,如果该条件为真,我想立即取消活动 在下面的例子中,如果满足这个条件,我想根本不允许用户对表进行排序 $(table).bind("sortBegin",function(e, table) { if(condition_is_met){ // ?? How to cancel the sortBegin? } }); 在jquery中是否可能出现类似的情况 更新: 抱歉 1) 我认为标记tablesorter将足够清
$(table).bind("sortBegin",function(e, table) {
if(condition_is_met){
// ?? How to cancel the sortBegin?
}
});
在jquery中是否可能出现类似的情况
更新:
抱歉
1) 我认为标记tablesorter
将足够清楚地表明我正在使用哪个插件无论如何tablesorter
。谢谢
2) 我想不允许任何类型的排序,直到条件不再满足。我不介意是停止整个表的排序,还是只停止当前事件。jQuery提供了unbind函数来从选择器中解除事件绑定 这里有一个例子
$('#foo').unbind('click');
jQuery提供了unbind函数来从选择器中解除事件绑定 这里有一个例子
$('#foo').unbind('click');
不幸的是,插件没有考虑到
preventDefault
——您要么需要修改它,要么抛出异常以中止
调用堆栈,它应该与受良好支持的preventDefault
相同,但更丑陋
$(table).bind("sortBegin",function(e, table) {
if(condition_is_met){
throw new Error("");
}
});
jQuery中的IIRC,.trigger()
同步工作,如果这是真的,那么它将工作
如果要修改插件,可以通过以下方式添加对preventDefault
的支持:
var e = $.Event( "sortBegin" );
$this.trigger(e, $t0);
if( !e.isDefaultPrevented() ) {
setTimeout(function(){
// set css for headers
setHeadersCss($t0);
multisort($t0);
appendToTable($t0);
}, 1);
}
现在,当代码的客户端在sortBegin事件中调用
e.preventDefault()
时,插件将不会继续排序。不幸的是,插件没有考虑preventDefault
-您需要修改它或抛出异常以中止排序
调用堆栈,它应该与受良好支持的preventDefault
相同,但更丑陋
$(table).bind("sortBegin",function(e, table) {
if(condition_is_met){
throw new Error("");
}
});
jQuery中的IIRC,.trigger()
同步工作,如果这是真的,那么它将工作
如果要修改插件,可以通过以下方式添加对preventDefault
的支持:
var e = $.Event( "sortBegin" );
$this.trigger(e, $t0);
if( !e.isDefaultPrevented() ) {
setTimeout(function(){
// set css for headers
setHeadersCss($t0);
multisort($t0);
appendToTable($t0);
}, 1);
}
现在,当代码的客户端在sortBegin事件中调用
e.preventDefault()
时,插件将不会继续排序。使用.on、delegate、.off停止事件触发,返回false停止事件triggered@Alnitak在标签上。。我想。插件只会触发事件,不会对其作出反应。。。因此,如果不进行修改或抛出exceptionQuestion,则无法执行此操作。现在,问题已更新。哇,今天的否决票让触发器非常高兴:)@Alnitak它确实使用了sortbegin@Kave我已经使用过了-你现在得到的不是我的。使用.on,delegate,.off停止事件到触发器,返回false停止事件在它被触发后triggered@Alnitak在标签上。。我想。插件只会触发事件,不会对其作出反应。。。因此,如果不进行修改或抛出exceptionQuestion,则无法执行此操作。现在,问题已更新。哇,对今天的落选感到非常高兴:)@Alnitak它确实使用了sortbegin@Kave我已经使用过了-你现在得到的不是我的。这正是我需要的。现在我最好还是坚持使用throw error
,否则每当我更新插件时都会很痛苦。我让插件作者知道,也许他可以用代码以正确的方式修复这个问题。谢谢,您可以通过将选项设置为true
来禁用客户端排序。这正是我所需要的。现在我最好还是坚持使用throw error
,否则每当我更新插件时都会很痛苦。我让插件作者知道,也许他可以用代码以正确的方式修复这个问题。感谢SBTW,您可以通过将选项设置为true
来禁用客户端排序。