2

简而言之,似乎当 ASP.NET 页面具有<form runat=server>标记时,它会破坏一些 jQuery 脚本。这是一个例子:

我有一个非常简单的页面,只有一个复选框,如下所示:

<input type="checkbox" id="myCheckbox01" />

并像这样调用 jQuery 函数:

<script language=javascript>
    $(document).ready(function () {
        $("[type=checkbox]").iphoneStyle();
    });
</script>

请注意,我没有专门引用任何 ID。jQuery 调用适用于页面中的所有复选框。

这工作正常,jQuery 调用按预期工作。但...

当我将复选框附在 ASP.NET 表单中时,如下所示:

<form runat="server" id="form1">
    <input type="checkbox" id="myCheckbox01" />
</form>

jQuery 调用停止工作,并且我收到 JavaScript 错误"Object doesn't support property or method 'iphoneStyle'"

再次请注意,我没有引用任何特定的 ID,复选框也不是 ASP.NET (runat=server) 控件——它只是一个普通的旧复选框。

我似乎无法追踪这个问题。任何帮助将不胜感激。

4

2 回答 2

1

我有这个问题。jQuery 本身可以工作,但我添加的任何插件都不会。我不断收到“对象不支持属性或方法......”的投诉。解决方案是将对 jQuery 插件的引用从 Site.Master aspx 页面移动到我使用 jQuery 插件的“主”页面。我认为将所有脚本引用都放在 Site.Master 中是很聪明的,但毕竟我太聪明了。

于 2015-03-14T23:50:08.013 回答
0

像这样更改您的脚本。这个对我有用

  <script language="javascript">
      $(document).ready(function () {
      $('input:checkbox').iphoneStyle();
      });
  </script>
于 2012-11-01T13:11:35.130 回答