Jquery脚本不能与IE一起使用

时间:2013-01-30 22:14:13

标签: javascript jquery

我编写了这个脚本,为我的在线商店添加JavaScript功能,该脚本适用于Firefox和Chrome,但不会运行ie,我不确定为什么?

由于脚本冲突,我使用的是jQuery(function( $ ){而不是.ready,我使用.ready测试了脚本,但仍然无法使用ie。

如果有人有想法,他们会非常感激。

jQuery(function( $ ){

setInterval(function(){ updatecart();  },8000);

   $('.addtobag').on('click', function(){
       event.preventDefault();
       var postdata = new Object();

       var action = $(this).closest('form').attr('action');

      $(':input',$(this).closest('form')).each(function(evt){

        var L = $(this).attr('name')
        postdata[L] = $(this).val();

      });


       $.post(action, postdata);

       generate('success'); //display banner
        updatecart();   //update cart

            });

    var postdata = new Object();

    postdata['basket'] = phpbasket;



     function updatecart() {

      $.post("/get_cart_details.php", postdata, function (data) {
                      var obj = $.parseJSON(data);
                           $('#qty_js').text(obj.items_qty);
                           $('#amt_js').text(obj.items_value);
                           });

     }



  function generate(type) {
    var n = noty({
        text: 'The item(s) have been added to your basket.',
        type: type,
      dismissQueue: true,
        layout: 'topCenter',
        theme: 'defaultTheme'
    });
    console.log('html: '+n.options.id);

         setTimeout(function() {
      $.noty.closeAll();
    }, 5000);
  }




});

4 个答案:

答案 0 :(得分:1)

摆脱console.log()声明。 IE<它上面有9个扼流圈,9个仅在控制台打开时有效。

答案 1 :(得分:0)

尝试在点击回调中添加event参数

$('.addtobag').on('click', function(event){

答案 2 :(得分:0)

在某些浏览器而不是IE中可能容忍的一些事情是第12行在结尾处缺少分号,并且未定义变量phpbasket(尽管如果您使用'var phpbasket'在闭包之外定义它那么你应该没问题。如果你在IE 9或更高版本中调试它,你应该能够在控制台中看到错误的行号。

答案 3 :(得分:0)

不是一个完整的答案,但它可能会指出你正确的方向。我实际上是要问一个类似的问题 - 我发现如何让IE 11加载jquery,但它要求用户点击“f12”然后“运行activex”,因为显然IE认为我的代码可能不安全。但是当用户告诉activex运行时,它运行正常。

我正在尝试学习如何使用jquery制作触摸屏友好的下拉菜单,所以我的代码是基本的 - 没有CSS,没有doctype,只是基本的html和js。如果其他人能够对此有所了解,那就太棒了。