jQuery表单和hrefs
所以我想做一些漂亮的按钮,比如,一切都很好。我希望我的表格能够与这些性感的按钮一起提交 所以我开始使用jQuery来处理我所有的“a”点击操作jQuery表单和hrefs,jquery,forms,Jquery,Forms,所以我想做一些漂亮的按钮,比如,一切都很好。我希望我的表格能够与这些性感的按钮一起提交 所以我开始使用jQuery来处理我所有的“a”点击操作 $(document).ready(function() { $("a").click(function() { alert("a"); var a = $(this); var id = a.attr("id"); switch (id) { case "formS
$(document).ready(function() {
$("a").click(function() {
alert("a");
var a = $(this);
var id = a.attr("id");
switch (id) {
case "formSubmit":
a.parents("form:first").submit();
return false;
});
还有一个问题。。。如何在javascript中突出显示上面的代码?或者任何类似格式化的代码?很抱歉这些糟糕的空格,等我找到方法后,我会编辑它
我分心了,忘了问原来的问题。现在有了jQuery,就可以很容易地通过$.post和其他信息添加新信息。如何添加一个新的a href链接,以便$(“a”)。单击捕获它?使用处理程序通过替换以下内容来处理对新元素和未来元素的单击:
$("a").click(function() {
为此:
$("a").live("click", function() {
通过这种方式,文档上的处理程序
侦听来自
元素的单击以冒泡…当前元素和新元素都会发生这种情况。使用处理程序来处理对新元素和未来元素的单击,方法是替换以下内容:
$("a").click(function() {
为此:
$("a").live("click", function() {
通过这种方式,文档上的处理程序
会侦听来自
元素的单击以冒泡…当前元素和新元素都会发生这种情况。。click()
仅将处理程序绑定到现有元素。要绑定到任何元素,无论它们现在存在还是以后将存在,都可以使用或。为了简单起见,我们将使用.live()
。.live()
的第一个参数是一个字符串,即希望将处理程序绑定到的事件。第二个参数是处理函数
只需按照以下思路将所需内容更改为:
$(document).ready(function() {
$("a").live("click", function() {
alert("a");
var a = $(this);
var id = a.attr("id");
switch (id) {
case "formSubmit":
a.parents("form:first").submit();
return false;
});
.click()
仅将处理程序绑定到现有元素。要绑定到任何元素,无论它们现在存在还是以后将存在,都可以使用或。为了简单起见,我们将使用.live()
。.live()
的第一个参数是一个字符串,即希望将处理程序绑定到的事件。第二个参数是处理函数
只需按照以下思路将所需内容更改为:
$(document).ready(function() {
$("a").live("click", function() {
alert("a");
var a = $(this);
var id = a.attr("id");
switch (id) {
case "formSubmit":
a.parents("form:first").submit();
return false;
});
让我试试看,我会让你知道的!2小时尝试不同的事情。。。堆栈溢出未成功
5分钟。。。伟大的成功@Michael是的,由于.live()从文档根绑定的方式(本质上是“单击”事件中的一个巨大的捕获,然后尝试匹配选择器模式),性能受到了影响。更新dom时,最好重新附加事件。Live是捕获事件的一种非常简单的方法,无需担心dom更新。如果可能的话,一定要避免。+1是关于.live()
如何工作的简短而甜蜜的解释。:)@Ben-这是非常糟糕的错误信息,您提供的信息有其他方法,并且。live()
不一定附加到文档
,它默认附加到文档
,这是一个明显的区别。重新附加事件并不“总是更好”,一次绑定.live()
处理程序比单独将处理程序绑定到数千个元素要便宜数千倍(即使每次单击的选择器成本也是如此),而您甚至不可能使用这些处理程序中的大多数。让我试试,我会告诉您的!2小时尝试不同的事情。。。堆栈溢出未成功
5分钟。。。伟大的成功@Michael是的,由于.live()从文档根绑定的方式(本质上是“单击”事件中的一个巨大的捕获,然后尝试匹配选择器模式),性能受到了影响。更新dom时,最好重新附加事件。Live是捕获事件的一种非常简单的方法,无需担心dom更新。如果可能的话,一定要避免。+1是关于.live()
如何工作的简短而甜蜜的解释。:)@Ben-这是非常糟糕的错误信息,您提供的信息有其他方法,并且。live()
不一定附加到文档
,它默认附加到文档
,这是一个明显的区别。重新附加事件并不“总是更好”,一次绑定.live()
处理程序比单独将处理程序绑定到数千个元素要便宜数千倍(即使每次单击的选择器成本也是如此),而您甚至不可能使用这些处理程序中的大多数。您只需将其记为.live()
,而不是$.live()
,委托也是如此,因为这些不是jQuery
对象上的静态方法。您应该将其记为.live()
,而不是$.live()
,委托也是如此,因为这些不是jQuery
对象上的静态方法。