Javascript不适用于谷歌chrome和智能手机浏览器

Javascript not working on google chrome and smartphone browsers

本文关键字:智能手机 浏览器 chrome 谷歌 不适用 适用于 Javascript      更新时间:2023-09-26

我正在开发ASP.NET/C#Web应用程序我有一个复选框。我希望该复选框在选中/未选中时模拟按钮点击

我用javascript做

<input id="filtercheck" runat="server" type="checkbox" value="Filter" onclick="document.getElementById('Button1').click();"/>

按钮1是一个普通的按钮

<asp:LinkButton ID="Button1" runat="server" OnClick="Button1_Click"/>

因此,当我点击复选框时,它就像我点击按钮1一样。

在firefox和internet explorer上一切都很好。但这在谷歌Chrome和智能手机浏览器上不起作用

如何解决此问题?

此外,还有一些其他的javascript和Jquery脚本可以在internet explorer和firefox上使用,但不能在Google Chrome和智能手机浏览器上使用。

我该怎么做才能确保我的网站在所有浏览器上完全兼容?

非常感谢您的帮助

编辑:是的,这是第一件事。Chrome被linkButton卡住了,没有按预期进行渲染。

我本来打算问的。该ID与HTML ID属性相同吗?asp"LinkButton"如何呈现为HTML?

编辑:我将把剩下的留在这里,以防对其他有asp.net恶作剧麻烦的人有帮助。

您是否验证了HTML。你所做的并不是特别疯狂。HTML损坏可能是原因。

此外,尝试通过Chrome中的其他方式只启动一次该功能。

不过有一件事很有帮助。将您的JavaScript从页面中移除,并将其放入链接文件中。不要让任何微软产品告诉你通过他们的方式让js变得更容易。他们做过的最好的事情是.net MVC,它让你摆脱了困境。

edit:等等。你在使用网络表单吗?这可能是你的问题。在这种情况下,你可能需要集中注意力,然后点击愚蠢的东西。一些微软工程师防止人们找到一种简单的方法来绕过他们的愚蠢行为。不久前,我浏览了很多可怕的JS来找出那个。

您可能需要Button1 ClientID?

document.getElementById('<%= Button1.ClientID %>').click()

在所有浏览器上完全兼容?简短的答案?No fancy stuff.

一个稍微长一点的答案是做w3c制定的标准允许的事情,并希望所有浏览器都是兼容的。他们永远不会是100%。

如果您可以使用jQuery,我建议您使用trigger方法

EDIT:正如Koste所指出的,您可能还想使用ClientID而不是实际id。