Javascript jQuery美元符号混淆
对于jQuery中的美元符号,我有点困惑,希望有人能帮我 我有以下功能声明:Javascript jQuery美元符号混淆,javascript,jquery,events,onclick,dollar-sign,Javascript,Jquery,Events,Onclick,Dollar Sign,对于jQuery中的美元符号,我有点困惑,希望有人能帮我 我有以下功能声明: $(function() { $( "#create-discussion" ).button().click(function() { alert("Clicked"); }); $( "#listitems tr" ).click(function(event) { alert("clicked"); }); }); 出于某种原因,“创建讨论”按钮
$(function() {
$( "#create-discussion" ).button().click(function() {
alert("Clicked");
});
$( "#listitems tr" ).click(function(event) {
alert("clicked");
});
});
出于某种原因,“创建讨论”按钮的第一个函数声明工作得很好;单击时,会出现一个弹出窗口。但是,第二个不起作用,当我单击表行时,不会生成弹出窗口
这是按钮点击和表格行点击之间的细微差别吗?我是不是错过了一些非常明显的东西
另外,我认为如果有人解释一下$(function(){})
实际上做了什么,这会有很大帮助,因为我把它当作$(document).ready()
,我不确定我是否能做到这一点。美元符号($
)实际上是jQuery
函数的别名。根据,如果您将回调作为参数传递给该函数,它将在DOM就绪时执行
当谈到问题的第二部分(关于为什么代码的第二部分不起作用):只需检查选择器。对我来说,它工作得很好(请参阅-它没有
.button()
方法,因为我没有加载jQuery UI),因此这可能是由不正确的选择器造成的。只要选择器文本“#listitems tr”具有有效的选择内容,您所做的工作就应该正常
你可以通过做。。。如果结果为0,则表示jQuery未找到任何有效项
alert($("#listitems tr").length);
当你打电话的时候
$("a").click(function(evt) { alert("hello world!"); });
您正在将单击事件绑定到页面上的所有标记。你完全可以用……来做同样的事情
$("a").click(myFunc);
function myFunc(evt) { alert("hello world!"); }
单击功能可以附加到任何html元素。它不必是按钮,也可以是,等等。元素甚至不必是可见的,尽管只有通过执行以下操作调用实际事件时,才能触发单击
$(“a”)。单击()
$(“…”)只是键入jQuery(“…”)的简写形式
希望这能回答您的问题。这正是准备好文档的事件处理程序的捷径。两者在功能上是等价的。也就是说,这不是你的问题。只要试着将
$(“#listitems tr”)
转换成$(“#listitems tr td”)
。(只是想一想。)绑定$(“#listitems tr”)处理程序时,表行是否存在?请记住,事件处理程序通常只处理当前元素。如果你想在将来的元素上运行,你需要使用live Handler()。这个按钮()
函数有什么用?Mike,我想你可能已经搞定了-调用此代码后,我的表会用服务器查询方式动态填充。查看您现在提到的live Handler链接。:)请提交一个答案,这样我可以给你学分!