5

Chrome'un geliştirici araçlarını kullanma Sayfadaki bir jQuery işlevinin hata ayıklama amaçları için hangi bağlantıyı yaptığını belirlemeye çalışıyorum. Ben genellikle onu bulana kadar arama yapmaya devam ediyorum, ama bu kez sormam gerektiğini düşündüm.jQuery & Chrome - Finding Button Hooks

Chrome'da belirli bir düğme için jQuery düğme kancası bulmanın bir yolu var mı? Olay Dinleyicisi Kesirli Noktalarını incelemeyi denedim, ancak onu duraklatmak için doğru olanı asla bulamıyorum.

Temel olarak, düğme tıklatıldıktan sonra jQuery/javascript'in çalıştırıldığını bilmem gerekiyor.

kanca şöyle uygulamada uygulanmaktadır:

$('.button_class').click(function(){ 
$('#button_id').click(function(){ 
etc... 
+1

olası yinelenen jQuery olay bağlarını araştırın] (http://stackoverflow.com/questions/3960709/inspect-an-element-to-investigate-jquery-event-bindings) –

cevap

1

bu her zaman işe yaramaz sayfadaki olaylar/zamanlayıcılar sayısına bağlı. Ancak, JavaScript hata ayıklama penceresinde hata ayıklamak istediğiniz düğmeyi tıklamadan önce "duraklatmayı" deneyebilirsiniz. Bu şekilde hata ayıklayıcısını yürütecek sonraki satırında duraklar. Zaman zaman bunu kullanmasını engelleyen şey, bir "hover" veya mouse move/in/out olayının bir öğeye bağlı olması durumunda, düğmeye geçmek için (düğmenin kendisi de dahil olmak üzere) geçmek zorunda olduğunuzdur. Bu durumda, istediğimi elde edene kadar bu olayları (eğer yapabilirsem) kaldırırım. Olay dinleyicisi kesme noktaları daha ideal olur, ancak bazen jQuery veya başka bir kitaplık kullanırken zorlanırlar. Bu sorunu çözmek için Chrome Dev Tools ekibine bir özellik isteği ekledim.

iyi şanslar

+1

Teşekkürler, çalışmadan önce duraklama. Ancak nasıl yaptığım konusunda dikkatli olmalıyım. Fareyi hareket ettirmek de sayfayı benim için durduracaktır, bu yüzden krom dev araç penceresine odaklanmalıyım (dışarı fırlatıyorum) ve sonra fareyi yerine doğru hareket ettirin, F8 tuşuna basın ve ardından düğmesine tıklayın. Yine de tamamen ideal değil, çünkü doğrudan jquery dosyasına gidiyor. Bu özelliği Chrome Dev Tools'a eklerseniz iyi olur. Eğer jQuery dosyasındaki dosyaları izlemediğimi söylesem hayatımı biraz daha kolaylaştırabilirdi. (Bu 3 satır bana bir şey ifade etmiyor.) – teynon

+0

@Tom Evet, bunlar benim düşüncelerim tam olarak. Kütüphaneler, "DOM olayı kesme noktaları" nın (kendileri için harika olduklarını düşünüyorum) faydasını azaltırlar. İstediğiniz takdirde bu konuda Paul Irish'i spam yapmalısınız ... – ckozl

+0

@ckozl - Takımdan herhangi bir geri bildirim aldınız mı? Değilse, özellik isteğinize bağlantıyı verebilir misiniz? Bu bir zorunluluktur çünkü şu anda jQuery gibi geniş bir kütüphane kullanırken olay dinleyici kesme noktaları işe yaramaz. – Nullius

2

bu deneyin -ck (söz konusu belirli dosyalarda "sizin" ve tek "kırma" ne dosyaların belirtmek için izin): Bir Denetleme öğesi [ait

$(yourbutton).data('events'); 
+0

Teşekkürler, bu tamamen ihtiyacım olan şey değil, ama bilmek ilginç. Bu sadece dinleyicilerin ne çektiğini anlatıyor gibi görünüyor, ancak işlevi dosya veya çizgi ile işaret etmiyor. – teynon

+0

Sadece bir sidenote olarak: jQuery 1.8+'den itibaren bu yöntem tanımsız olarak geri dönecektir. Bunun yerine, $. Data (element, "events") kullanmalısınız – Nullius

+0

http://stackoverflow.com/questions/2518421/jquery-find-events-handlers-registered-with-an-object – Nullius