jQuery表单和hrefs

时间:2010-11-23 02:45:24

标签: jquery forms

所以我想制作一些漂亮的按钮,如http://www.oscaralexander.com/tutorials/how-to-make-sexy-buttons-with-css.html,一切都运转正常。我希望我的表单能够通过这些性感的按钮提交。

所以我开始使用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和其他信息轻松添加新信息。我如何添加一个新的href链接,以便$("a").click捕获它?

2 个答案:

答案 0 :(得分:4)

使用.live()处理程序通过替换以下内容来处理对新元素和未来元素的点击:

$("a").click(function() {

有了这个:

$("a").live("click", function() {

这样,document上的处理程序会侦听来自<a>元素的点击,以便冒泡......这对于当前和新元素都会发生。

答案 1 :(得分:1)

.click()仅将处理程序绑定到已存在的元素。要绑定到任何元素,无论它们现在是否存在还是以后存在,您都可以使用.live().delegate()。为简单起见,我们将使用.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;
});