javascript:void(0) in href 和 onClick 在 IE9 中不起作用

javascript:void(0) in href and onClick not working in IE9

本文关键字:onClick IE9 不起作用 href in void javascript      更新时间:2023-09-26

以下代码是一个较大函数的一部分,该函数确定某些内容是否在线,并将代码返回到页面并显示"远程支持"按钮。这适用于所有浏览器,包括 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 "";
}

你可以试试

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

每个浏览器处理事情的方式都不同。最好的方法是完全删除onclick并为其定义一个jquery处理程序。类似的东西

$('.instantChat').click(function(){
    // open chat code here
    return false;
});

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

我也会完全放弃onclick属性。我怀疑它的大写是你出错的地方,你可能会修复它。

你最好添加一个data-action='openChat'属性。然后在其他地方添加一个处理程序来处理元素单击和:1. 检查单击的元素是否为按钮。2. 检查它是否具有数据操作属性3.如果它有数据操作,请检查它是否是打开聊天。4.如果是打开聊天,它会打开一个窗口。

标准将模型与视图内容分开。