Jquery li 点击事件未触发
Jquery li click event not firing
我一直在使用 JQuery,我在 JFiddle 上尝试了我的代码,它工作正常,但是当我在我的网站上这样做时,它根本不起作用,基本上我需要在单击用户列表中的列表项时发送一个事件。
.HTML
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://dl.dropbox.com/s/r5pzakk4ikvck3t/style.css?dl=1">
<script src="https://www.dropbox.com/s/2hdvqa4ma51m0pw/jquery-1.9.0.min.js?dl=1"></script>
<title>Chat</title>
</head>
<body>
<div id="userlist-container">
<div id="userlist-title">User List</div><br />
</div>
<div id="main-container">
<div id="messages">
</div>
</div>
<div id="control-container">
<input type="text" id="TxtMessage" placeholder="Message" onKeyPress="SendMsg(event)" style="text-align:center;" >
</div>
<div id="alert-container" hidden="hidden">
<div id="alert-main">
<span id="alert-content"></span>
</div>
</div>
</body>
</html>
爪哇语
$("#userlist-container > li").click(function(e) {
alert("TEST");
var username = "@" + this.html + " ";
$("TxtMessage").value(username);
$("TxtMessage").focus();
});
编辑:
页面加载后,它将连接到服务器并在userlist-container
中添加<li>lalala</li>
。
绑定
中的选择器是错误的:
$("#userlist-container > li")
您的 HTML 没有li
:
<div id="userlist-container">
<div id="userlist-title">User List</div><br />
</div>
此外,您似乎缺少事件内 id 选择器的#
。
因此,您的事件可能应该类似于:
$("#userlist-container > div").click(function(e) {
alert("TEST");
var username = "@" + this.html + " ";
$("#TxtMessage").value(username);
$("#TxtMessage").focus();
});
编辑
应该告诉你们,一旦它做了一些 东西,李被添加,所以那里实际上有李标签。
我将您的代码添加到小提琴中,并且在检查 DOM 时似乎没有添加li
标签。
小提琴
不过,这可能只是小提琴,不确定。我假设如果注入了 li
标签,如果您使用的是 jquery 1.7 或更高版本,则需要使用 on
使用委托绑定,如果您使用的是 1.6 或更高版本,则需要使用 delegate
或更早版本。
类似这个:
// jQuery 1.7 or later
$("#userlist-container").on("click", ">li", function(){
alert("TEST");
var username = "@" + this.html + " ";
$("#TxtMessage").value(username);
$("#TxtMessage").focus();
});
// jQuery 1.4.3 to 1.6.x
$("#userlist-container").delegate(">li", "click", function(){
alert("TEST");
var username = "@" + this.html + " ";
$("#TxtMessage").value(username);
$("#TxtMessage").focus();
});
你的选择器是错误的,添加 # 前缀来指示一个 id
$("#TxtMessage").value(username);
$("#TxtMessage").focus();
如果单击事件甚至没有触发,请确保在加载文档后附加事件
$(document).ready(function(){
//code here
});
相关文章:
- jQuery复选框(在ul>li下)检查事件
- jQuery bind()-如果LI点击事件触发,则阻止HTML点击事件触发
- 只有在单击外部li时才会触发的事件
- 在具有单击事件的 li 内时停止选中两次复选框
- 如何在 LI 上触发“选择”事件,由其 ID 标识
- 在 iScroll 中复制 LI 元素上的点击事件
- 当展开点击 li 的 ul 事件时,JS JQUERY 错误不起作用
- on单击li项目上的事件,以更改文本字段
- 使用此在点击事件中查找 LI 的文本
- 未定义动态 li 标签内按钮的 onclick 事件
- 如何使用 jQuery 或 JavaScript 根据当前 URL 和 click 事件将类“active”分配给 li
- 动态创建的 li 点击事件不起作用 jQuery
- 通过 li 单击触发 href 上的单击事件
- li上的jQuery按钮在单击之前不会在输入时触发更改事件
- 我想将click事件绑定到xpages类型中的li元素
- 绑定到LI的事件也由单击子元素触发
- 如何将onclick事件追加到li类中
- 如何通过jquery可选显示LI的值->选择事件
- 在Url.Action的点击事件上更改li/a标签文本
- 未将事件绑定到li项之一