javascript:void(0)在href和onClick不在IE9中工作

时间:2012-05-10 03:05:16

标签: javascript internet-explorer

以下代码是更大功能的一部分,用于确定某些内容是否在线,并将代码返回到页面并显示“远程支持”。按钮。这适用于所有浏览器,包括IE 7,8。这在IE 9中不起作用。整个按钮应该能够点击,但在IE 9上只有110px按钮的顶部可点击,基本上大约2px。

有没有办法让它在IE9中运行或没有?

if(strpos($response, "TRUE") > -1){
    echo "<a
href='javascript:void(0)'
onClick=\"window.open('".$instantChat."','_blank','toolbar=no, status=no, menubar=no,
titlebar=no, location=no,scrollbars=no, resizable=no, height=570, width=400'); return false;\" 
    class='instantChat'
>Remote Support</a>" ;
}else{
    echo "";
}

修改1

我想稍微清理一下代码,我尝试使用button元素而不是锚点,但它在Chrome内部搞砸了并且无法正常工作。

我还可以补充一点,这个按钮旋转270度,文字是侧面的。这是有意的。

这是新的代码,简化了上述内容,但没有解决问题。

if(strpos($response, "TRUE") > -1){
    echo "<a href='javascript:void(0)' onClick='openChat();' class='instantChat'>Remote Support</a>" ;
}else{
    echo "";
}

2 个答案:

答案 0 :(得分:1)

你可以尝试

<a style="cursor:pointer" onclick='openChat();' class='instantChat'>Remote Support</a>

每个浏览器处理事物的方式都不同最好的方法是完全取出onclick并为它定义一个jquery处理程序。像

这样的东西
$('.instantChat').click(function(){
    // open chat code here
    return false;
});

答案 1 :(得分:0)

我的第一个想法是你不想要一个链接,你想要一个按钮。那么为什么不使用按钮元素呢?那你就不用担心javascript:void bit。

我也完全放弃了onclick属性。我怀疑它的大写是你遇到问题的地方,你可以解决它。

你最好添加一个data-action ='openChat'属性。然后在别处添加处理元素点击的处理程序,并: 1.检查单击的元素是否为按钮。 2.检查它是否具有数据操作属性 3.如果有数据操作检查它是否为openChat。 4.如果是openChat则打开一个窗口。

标准分离模型与视图内容。