如何在jQuery中跳转或转义链。
例如。
$("h3").click(function(){
//doSomething
if(~~)
// in this case, escape chain(A and B function will be not work)
else if(~~)
// in this case, jump to B case(A function will be not work)
})
.bind(A, function(){
do A case.
})
.bind(B, function(){
do B case.
});
有可能吗?
答案 0 :(得分:1)
点击处理程序中的代码在实际发生单击之前不会执行,而在应用单击处理程序之后立即处理绑定调用。看起来你想要的是各种处理程序的条件执行。您可以通过在原始单击处理程序中设置元素数据,然后检查后续处理程序中的状态来实现这一点,但最好将它们创建为独立函数,并根据需要从单击处理程序中调用它们。 / p>
答案 1 :(得分:0)
如果A和B实际上只是函数,其中一个应该在点击时调用,请执行:
function A()
{
...
}
function B()
{
...
}
$("h3").click(function(){
//doSomething
if(~~)
A();
else if(~~)
B();
})
但是,你的问题并不完全清楚。
答案 2 :(得分:0)
要结束您的链,您可以使用jQuery .end()
方法;但在这种情况下,您有一个条件,并且应为每个条件运行两个不同的代码。因此,您可以在条件下使用jQuery $(this)
来引用所点击的内容并根据您的条件运行代码:
$("h3").click(function(){
//doSomething
if(~~)
// in this case, escape chain(A and B function will be not work)
$(this).bind(A, function(){
//do A case.
})
else if(~~)
// in this case, jump to B case(A function will be not work)
$(this).bind(B, function(){
//do B case.
});
});