javascript - 为什么 javascript 行必须在函数中才能工作?

标签 javascript jquery asp.net

如果我将此 JavaScript 放在我的 aspx 页面上,则单击按钮后面板将按预期显示:

 <script type="text/javascript">
 function ShowPopUp() {
     $('#<%= upNewClient.ClientID %>').show();
 }
 </script>

 <asp:Button ID="btnNewClient" runat="server" OnClientClick="javascript: ShowPopUp(); return false;" />

但是如果我尝试在没有该功能的情况下执行此操作,则它不起作用:

<asp:Button ID="btnNewClient" runat="server" OnClientClick="javascript: $'(%<= upNewClient.ClientID %>'.show(); return false;"/>

页面闪烁,我的 JavaScript 控制台中可能会出现错误,但它来来去去的速度太快,我无法阅读它。

那么,为什么完全相同的代码行不能在函数之外工作呢?

编辑: 我已经多次重写了这段代码(我实际上是在后面的代码中尝试这样做),并且在我最初发布之前我输错了它。实际的按钮标签是:

<asp:Button ID="btnNewClient" runat="server" Text="Add New Client" OnClientClick="javascript: $('#<%= upNewClient.ClientID %>').show(); return false;" />

这很快就会在我的 javascript 控制台中闪现出一个错误,我相信是这样的: 未捕获错误:语法错误,无法识别的表达式:#<%= upNewClient.ClientID %>

最佳答案

您缺少内联引号的 # id 选择器和错误放置的引号。缺少右括号

所以

$'(%<= upNewClient.ClientID %>'.show();

应该是

$('#<%= upNewClient.ClientID %>').show();

关于javascript - 为什么 javascript 行必须在函数中才能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15451378/

相关文章:

jQuery 在单选字段上使用多个选择器

c# - 无法加载文件或程序集 'Microsoft.Practices.EnterpriseLibrary.Common' 或其依赖项之一

javascript - React JS 粘性导航 onScroll

javascript - eval 和 setTimeout 循环

javascript - 在javascript中播放音频文件

javascript - 调用的点击处理程序过多

javascript - 在 Ruby on Rails 中,如何使 HTML 作为一个文件中的部分内容和另一个文件中的 Javascript 最后包含?

c# - Azure 搜索 - 较小的方面计数未从索引返回

asp.net - ASP.NET 中 HTTP 缓存相关 header 的有效含义

Javascript:如何发布整个页面?