【发布时间】:2018-08-13 15:51:28
【问题描述】:
我无法在 div 标签内的 <a> 标签上触发点击事件。
这是我的 UI 的 JSP 代码
<div class="container" id="userHeader">
<c:choose>
<c:when test="${isLogin}">
<ul>
<li>Hello ,${user.name}</li>
<li> Call : **********</li>
<li>xyz@gmail.com</a></li>
<li><a id="logout">Sign Out</a></li>
</ul>
</c:when>
<c:otherwise>
<ul>
<li>Sign In </li>
<li>Sign Up </li>
<li>Call : *********</li>
<li>xyz@gmail.com</li>
</ul>
</c:otherwise>
</c:choose>
</div>
单击“登录”将打开一个表单,该表单已提交并完美验证。 “登录”后,注销标签将出现在屏幕上。不,单击“退出”不起作用。 $("#logout"),点击处理程序甚至没有被触发。
下面是JQuery和JS部分的代码:
$(document)
.ready(
function() {
// SUBMIT FORM
$("#signInForm").submit(function(event) {
event.preventDefault();
signInAjaxPost();
});
function signInAjaxPost() {
// PREPARE FORM DATA
// do ajax request and set html
}
// **The logout anchor tag handler for sign out (This is not working , its not even fired)**
$('#logout').click(function (e) {
debugger;
e.preventDefault();
signOutPost();
});
function signOutPost() {
//sign out code
}
});
现在,如果我在浏览器控制台上编写$(#logout) click 处理程序以及里面的函数,它就可以工作。因此,在浏览器控制台上编写相同的代码并再次单击锚标记后,用户将被注销。但是为什么不在浏览器控制台上写入就不会触发此事件。我检查了 JS 的 DOM 脚本。代码已加载到浏览器上,不会像构建中遗漏代码一样。
我一直在搜索,找不到解决方案,甚至找不到此问题的根本原因。
【问题讨论】:
标签: javascript java jquery jsp