【问题标题】:JavaScript issue with IE9 - Working without issue when Developer Toolbar is shownIE9 的 JavaScript 问题 - 显示开发人员工具栏时没有问题
【发布时间】:2013-03-08 22:24:33
【问题描述】:

我在 IE9 中遇到了一个非常奇怪的 JavaScript 问题(它在 Chrome、Safari、Firefox 中运行良好)。

当您单击关联的样本时,我有一些 JS 会选择图像的不同颜色。在 IE9 中,似乎完全忽略了这一点,它只是什么都不做。但是,只要我打开 F12 开发人员工具,它就会开始工作——即使没有重新加载页面。我在这里遗漏了什么吗?

jQuery

$('.product-details-description-colors .circle img').click(function() {

  if(!$(this).hasClass('oos')) {

    url = $(this).parent('label').data('image');
    color_value = $(this).parent('label').prev('input');
    color_value.prop('checked', true);

    $('.circle').find('input').not(color_value).attr('checked', false);
    $(this).css('outline', '1px solid black');
    $('.product-details-description-colors .circle img').not(this).css('outline', 'none');
    $('.product-details-images-showroom img').attr('src', url);

  }

});

【问题讨论】:

  • 这是用 ready 事件包装的吗?你在用console.吗?
  • 您使用的是什么版本的 jQuery?如果您有更多代码,我们可以提供更多帮助,也许是HTMLCSS?创建一个 JS 小提琴@jsfiddle.net
  • 据我了解,调用匿名 jQuery 函数与调用 (document).ready 不一样吗? - 除此之外,打开控制台或在那里有输出也无济于事 - 只要我在 IE 上打开控制台,它就会开始工作。
  • 即使开发者工具在不同的窗口中?如果您的屏幕已解决此问题,请查看更改屏幕尺寸时是否会出现问题 - 开发人员工具将执行此操作。
  • 它可以工作,即使开发者工具在不同的窗口中 - 同样当我调整浏览器大小时,它似乎没有做任何改变。我完全迷失在这个问题上。

标签: javascript internet-explorer coffeescript


【解决方案1】:

我假设您尚未发布所有代码。最常见的原因之一是尝试使用console 对象,特别是console.log。这仅在 F12 工具打开时可用,如果未打开,则会导致传播 undefined 时出现神秘错误。

因此,将其放在您的咖啡脚本应用程序中的某个位置是个好主意:

# Fix IE logging issues
if not window.console
  window.console = 
    log: ->

【讨论】:

  • 删除 console.log 调试语句解决了这个问题!谢谢!
  • 在页面加载时运行上面的代码,无论您是否删除语句,它都会起作用。
猜你喜欢
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 2015-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多