獲取

2012-11-26 58 views
0

之間我編程的東西,有相同的功能兩個按鈕與一個先前的元素。獲取

而不是把所有的信息從第一按鈕進入第二個,我增加了一個,甚至處理第二到觸發第一個點擊所以同樣的代碼會被執行。

我使用jQuery框架,所以如果可能的話我可以讓jQuery的格式建議。

這是我使用的事件處理程序的代碼:

$(document).on('click', '.enlargeComments', function(){ 

    $(this).prev('.commentsLink').trigger('click'); 

}); 

與所有的功能按鈕是由PHP類創建的,所以獲得的信息將其放置到第二都不行,也給它一個識別類也意味着對班級進行額外的改變,這是不誠實的。

但是現在我還有一個按鈕,來在這兩個和我的事件處理程序之間不再工作......我需要一個解決方案,讓我原來的工作方式所以沒有建議改變它目前的工作,請了道路。

在此先感謝。

回答

2

您可以使用.prevUntil(sel).prev()做到這一點:

$(document).on('click', '.enlargeComments', function(){ 

    $(this).prevUntil('.commentsLink').prev().trigger('click'); 

}); 
+0

感謝那些工作,將接受答案時,它可以讓我 –

1

你爲什麼要這麼做?

只需附上相同的處理,以兩個元素,因爲他們無論如何都會被做同樣的事情:

$(document).on('click', '.commentsLink, .enlargeComments', function(){ 

    //click stuff 

}); 
+0

喜另外的按鈕不會出現遍地開花,所以最好爲它出現的部分設置一個單獨的事件處理程序。 –

+0

@AndréFigueira是**不是**真的。您只是將事件委託給它發生的任何地方。 – Neal

+0

正如我在說明中解釋,第一個按鈕,一個包含影響內容加載屬性的意見,從一類產生這個按鈕,其他的不要,讓事件處理程序中建議將意味着複製的方式工作數據傳遞給另一個按鈕,正如我所提到的,並不是我們想要發生的事情 –