Javascript 如何在第一次执行live(';单击';)时使slideDown()在ajaxForm()中工作
对于这个特殊的问题,我通常使用preventDefault();但在这种情况下,它不起作用。如果有人帮我做这件事,我会很感激的。以下是我的一些代码:Javascript 如何在第一次执行live(';单击';)时使slideDown()在ajaxForm()中工作,javascript,jquery,slidedown,preventdefault,ajaxform,Javascript,Jquery,Slidedown,Preventdefault,Ajaxform,对于这个特殊的问题,我通常使用preventDefault();但在这种情况下,它不起作用。如果有人帮我做这件事,我会很感激的。以下是我的一些代码: $('.place_order').live('click',function(){ $('#place_order_form').ajaxForm(function(){ $('#shopping_cart').slideDo
$('.place_order').live('click',function(){
$('#place_order_form').ajaxForm(function(){
$('#shopping_cart').slideDown(150,function(){
$('#shopping_cart').load('url here');
$('#shopping_cart').css('display','block');
$('#shopping_cart').css('height','290');
});
}).submit();
});
执行slideUp()后,它可以正常工作,但在第一次单击时,它只加载数据而不进行slideDown。非常感谢您的帮助,因为我是noob Jquery开发人员。请像这样尝试:
$(document).on('click', '.place_order', function(){
$('#place_order_form').ajaxForm(function(){
$('#shopping_cart').hide().load('url here', function() {
$(this).slideDown(150);
});
}).submit();
});
哪个版本的jQuery,
live()
在较新版本中被删除,并且很久以前就被弃用了?jQuery JavaScript库v1.9.1。请注意,同样的代码也适用。问题是,当您第一次单击下订单时,购物车只会显示,但不会向下滑动。如果您将其隐藏并再次单击“订单”,它将正常工作。live()
已在1.9中删除,请改用on()
的委派版本。如果您在Stack Overflow上进行搜索,您将找到大量关于如何使用on()
的答案。感谢您提供这些信息,但代码运行良好。问题是slideDown()在第一次单击时不起作用。它在下一次点击时起作用。您可能没有任何内容,因为这是后来用ajax添加的,或者您试图滑动的元素被隐藏,请参见我的答案!第一次单击时,将加载内容而不向下滑动。在更多的点击中,内容也被加载,但带有slideDown。它应该是这样工作的,而且我现在没有办法测试ajaxForm插件,所以我真的不知道问题出在哪里?这很有效!它解决了我的问题。我认为它的作用是hide()函数。很抱歉,我说这不起作用,但一开始我抄错了。