jQuery表单和hrefs

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

所以我想做一些漂亮的按钮,比如,一切都很好。我希望我的表格能够与这些性感的按钮一起提交

所以我开始使用jQuery来处理我所有的“a”点击操作

$(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
对象上的静态方法。