【问题标题】:JavaScript function doesn't work in IE?JavaScript 函数在 IE 中不起作用?
【发布时间】:2011-08-31 00:22:27
【问题描述】:


我在使用 IE7/IE8 和 Javascript/jQuery 时遇到了很多问题,而我在 Chrome 或 FireFox 中没有这些问题。
我有这个 Javascript 函数:

function changeImg(img,bla){
    $('#open_case').css("background-image", "url('"+img+"')");
    getIngo(bla);
    navigation_image(bla);
}

这是我的 onclick 函数:

<div class="cImage" style="background-image:url('http://bla.com/images/this_image.jpg');" onclick="changeImg('http://bla.com/images/this_image.jpg','2');"></div>

但这就像根本没有调用该函数,因为如果我将 changeImg 函数更改为警报函数:

function changeImg(img,bla){
    alert('hi!');
}

还是不行。
IE7/IE8 给出的唯一错误是Expecting Object(大致翻译)
我做错了什么?
提前致谢!

[编辑:]
这些是 IE7/IE8 指向的行;

<script type="text/javascript" src="Scripts/swfobject.js"></script>
<script type="application/javascript" language="javascript">
function clearText(textfield){
    if (textfield.defaultValue == textfield.value){
        textfield.value = '';
        $(textfield).css('color','#000000');
    }
}
function addText(textfield){
    if (textfield.value == ''){
        textfield.value = textfield.defaultValue;
        $(textfield).css('color','#999999');
    }
}

【问题讨论】:

  • 您在 IE 中遇到的错误的行号是什么
  • 你的脚本标签在头上吗?尝试使用 jQuery 来绑定事件,而不是将其放在 onclick="" 中。 $(document).ready(function(){$('.cImage').live('click',function(){changeImg('bla.com/images/this_image.jpg','2');});});
  • getIngo(bla);navigation_image(bla); 有什么作用?还是与错误无关?
  • @Ibu;在第 1 行,字符 1;在第 10 行到第 15 行之后,字符 1。第 10 行是一个完全不同的函数,我将把这个函数添加到我的帖子中。 -@埃米尔;是的,它在头部,所以只需将该代码放在 onclick 中?
  • IE的版本是多少??试试onClick="javascript:changeImg('http://bla.com/images/this_image.jpg','2');"

标签: javascript jquery html


【解决方案1】:

如果错误是预期的对象。那就试试这个

改变你的

<script type="application/javascript" language="javascript">

<script type="text/javascript">

【讨论】:

【解决方案2】:

您在这里使用 javascript 有什么原因吗?看起来您正在更改导航项上的图像?你可以只是CSS :hover classes。无论如何,使用 onmouseover 并不是在 javascript 中处理这类事情的“正确”方式,如果你真的不能只使用 CSS,至少要考虑处理鼠标悬停在事件 properly in jQuery 上。

【讨论】:

  • @Dunhamzzz;有导航按钮。但是当你点击其中一个时,div 的背景必须改变,所以悬停不会起到作用:)。
  • 你可以改变悬停@Jay的背景
  • 好吧,至少看看 jquery 点击事件,在你当前的设置下,你正在使用旧的 javascript 方法和 jQuery。您可以设置一个单击事件处理程序,该处理程序确实切换 CSS 类以更改图像。将两个切换图像放在同一个图像上,并在一个类中使用背景位置来移动图像。
  • 关于您的下一个问题,当您询问如何通过悬停更改背景图像时,我很乐意回答
  • @Jay 我想 Ace 会回答你的问题,我试图帮助你以更好的方式做到这一点。
猜你喜欢
  • 2013-01-27
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-03
  • 1970-01-01
  • 2017-11-16
  • 2012-01-20
相关资源
最近更新 更多