简而言之,当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错误 “对象不支持属性或方法'iphoneStyle'” 。
再次请注意,我没有引用任何特定的ID,复选框也不是ASP.NET(runat = server)控件 - 它只是一个普通的旧复选框。
我似乎无法追踪这个问题。任何帮助将不胜感激。
答案 0 :(得分:1)
我有这个问题。 jQuery本身可以工作,但我添加的任何插件都不会。我一直得到“对象不支持财产或方法......”的投诉。解决方案是将对来自Site.Master aspx页面的jQuery插件的引用移动到我使用jQuery插件的“主”页面。我认为通过将所有脚本引用放在Site.Master中我很聪明,但我毕竟太聪明了。
答案 1 :(得分:0)
像这样更改你的脚本。它对我有用
<script language="javascript">
$(document).ready(function () {
$('input:checkbox').iphoneStyle();
});
</script>