Javascript 如何在第一次执行live(';单击';)时使slideDown()在ajaxForm()中工作

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

对于这个特殊的问题,我通常使用preventDefault();但在这种情况下,它不起作用。如果有人帮我做这件事,我会很感激的。以下是我的一些代码:

            $('.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()函数。很抱歉,我说这不起作用,但一开始我抄错了。