2010-11-23 52 views
0

所以我想製作一些漂亮的按鈕,如http://www.oscaralexander.com/tutorials/how-to-make-sexy-buttons-with-css.html,一切工作正常。我希望我的表格能夠通過這些性感的按鈕提交。jQuery窗體和hrefs

所以我開始使用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能夠捕捉到它?

回答

4

使用.live()處理程序處理通過更換此點擊新的和未來的元素:

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

有了這個:

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

這樣的document監聽點擊處理程序從<a>元素泡沫......發生在當前和新的元素上。

+0

讓我給一個嘗試和虐待讓你知道! – Michael 2010-11-23 02:50:24

+0

2小時嘗試不同的事情...沒有成功
堆棧溢出5分鐘...偉大的成功! – Michael 2010-11-23 02:51:35

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; 
});