当发生相反的情况时,撤消一个jQuery事件处理程序的结果
我昨天刚开始研究jQuery,在此之前我只使用PHP编程。因此,我能解释我在寻找什么的最好方法是在jQuery中说“else” 假设我有以下几点:当发生相反的情况时,撤消一个jQuery事件处理程序的结果,jquery,Jquery,我昨天刚开始研究jQuery,在此之前我只使用PHP编程。因此,我能解释我在寻找什么的最好方法是在jQuery中说“else” 假设我有以下几点: $('input').click(function() { $(this).addClass('fieldBorder'); }); 我怎么能说“当输入字段点击退出时,删除类字段边框”。我在jQuery中看到了很多方法,但是当用户的行为发生时,如何说相反的话呢 另一个例子: $('a.clickMe').mouseover(function
$('input').click(function() {
$(this).addClass('fieldBorder');
});
我怎么能说“当输入字段点击退出时,删除类字段边框”。我在jQuery中看到了很多方法,但是当用户的行为发生时,如何说相反的话呢
另一个例子:
$('a.clickMe').mouseover(function() {
$('hiddenMessage').show();
});
在上面的示例中,当用户停止在链接上滑动鼠标以使用以下内容时,是隐藏隐藏消息的唯一方法:
$('a.clickMe').mouseout(function() {
$('hiddenMessage').hide();
});
我有一种烦人的感觉,那就是有一种更简单/更少冗余的方法来做这件事。这就是所谓的“回电”吗
编辑
从答案来看,我猜没有简单的方法可以做到这一点。但是我注意到,在ajax函数中,您有:
$.ajax({
type: 'get'
url: 'script.php',
data: 'foo=boo';
success: function() {
alert('it worked');
}, error: function() {
alert('it did not work');
}
})
对于所有其他jQuery代码来说,function()部分也存在 我想你想要这个活动,尽管你可能想要这个活动。我不确定“点击退出”到底是什么意思
对于mouseover
/mouseout
,有一个事件允许您配对处理程序
在‘相反’事件(不管是什么)上没有“请以某种方式运行与我刚才在这个处理程序中运行的所有代码相反的代码”。不过听起来很有趣!:) 这不是jQuery的问题,而是浏览器如何处理事件 元素可以具有焦点。如果可以的话,如果可以的话,它也会失去这种关注。当元素失去焦点时触发的事件是 但是,取决于您所谈论的元素类型,它可能永远不会获得焦点,即使单击它,或者它可能会在您不方便的时间失去焦点。在这种情况下,您可能只想在用户单击
文档
或
时收听,并确定是否需要执行某些操作
AJAX
success
和error
处理程序与事件处理不是一回事。在某个特定点,AJAX请求要么成功,要么失败,它是一次性的if..else
。事件更为复杂,任何事件都可能在任何时候触发,并且不一定存在“相反”的事件。单击的反面是什么?没有所谓的unclick
。只需单击另一个元素
关于如何使用这些约束构建特定行为,有一些习惯用法。例如,单击链接时显示某个元素,单击非链接或显示的元素时隐藏该元素
例如,将单击事件处理程序附加到文档
,它将捕获所有单击事件。对于每个触发的事件,您确定其是某个特定元素还是该元素的子元素
另一种选择是,你必须明白,事件会突然发生。单击某个元素时,将触发该元素的单击
事件。然后将触发元素父元素的单击事件,依此类推,直到到达顶部元素(这就是文档捕获所有事件的方式)。
您可以将事件附加到执行某项操作的文档
。您还可以将click
事件附加到某个特定的元素。通过这种方式,您创建了“单击除特定元素以外的任何内容时执行某些操作”的效果。这是另一种执行方式。可以用其他方式将其视为if/else语句
$("#id").hover(function(e){
//you can do whatever you want on mouseover here.
},
function(){
//you can do whatever you want on mouse out here.
});
我试图为你的问题提供一个更好的摘要标题。如果我猜的不是你问题的核心,请随意编辑。这在我发布的第一个示例中不起作用,但在第二个示例中起作用。我想我将不得不自己编写相反的代码,但只要它起作用,我就会使用它。逗号和“else”函数对我来说似乎更方便。嗨,deceze,你能告诉我怎么说:“当单击元素本身以外的任何东西时”,比如:click()$(本)