2012-05-30 3 views
2

All, Я использую следующую тему на моем сайте: http://revaxarts-themes.com/?t=whitelabelОпределить, что Jquery скрипт вызывается при нажатии кнопки

Это не работает так же, как на моем сайте, так что я пытаюсь определить что вызывает проблему. Например, если вы нажмете ссылку Breadcrumb на демо, и увидите палитры Add Numbers, вы увидите, что при нажатии на вещи она применяет разные классы к предыдущим. На моем сайте это не делает, поэтому я пытаюсь выяснить, когда нажимается одно из этих значений, какой JS-файл вызывается.

Еще один пример: если вы нажмете на «Формы», а затем перейдите к «Множественному выбору». Когда вы нажимаете значок «плюс», он передает выбор, и на моем сайте он этого не делает. Еще раз я хотел бы выяснить, какой JS-файл вызывается для этого.

Я искал Firebug, который хорошо отлаживается, если вы знаете файл, но я не уверен, как узнать, какие файлы вызывают. Может ли кто-нибудь указать мне в правильном направлении или предложить какую-либо помощь по этому поводу? Я был бы очень признателен!

Спасибо!

+1

Я уверен, что они обеспечивают основной поддержка в случае, если вы купили его – zerkms

+1

@zerkms. Я считаю, что они это делают, но я все же хотел бы понять, как (если вообще возможно) определить, какие файлы вызывают, если вы не уверены – user1048676

+0

есть отладчик js в Firebug и много документации o n как использовать его – zerkms

ответ

3

Во-первых, перейти к этому URL http://revaxarts-themes.com/whitelabel/breadcrumb.html (взял меня минуту, чтобы понять, что это в IFRAME ... хм ...)

Затем запустите это в JS консоли:

clickEvents = $('ul.breadcrumb[data-allownextonly]').data("events").click; 
jQuery.each(clickEvents, function(key, value) { 
    console.log(value.handler); 
}) 

И это будет печатать обработчик для события click как функция. Это уменьшенная, так что я unminified для вас с помощью jsbeautifier.org

function() { 
    var a = c.data("wl_Breadcrumb") || a; 
    if (a.disabled) return !1; 
    var b = $(this); 
    if (!a.allownextonly || 1 >= b.data("id") - c.find("a.active").data("id")) { 
     $.fn.wl_Breadcrumb.methods.activate.call(c[0], b), a.onChange.call(c[0], b, b.data("id")); 
     return !1 
    } 
} 

Тогда вы самостоятельно отсюда ...


Источник: How to debug Javascript/jQuery event bindings with FireBug (or similar tool)

+0

Спасибо за информацию. Как вы нашли поиск мини-кликов? Когда я запускаю его, я получаю одну строку, которая говорит function(), а затем еще одну строку, которая гласит: [Object {type = "click", origType = "click", guid = 20, more ...}]. Как узнать, какую функцию он вызывает? Спасибо – user1048676

+1

Я использую консоль Chrome ... Не знаю, имеет ли значение –

+0

Хорошо, что сейчас хорошо выглядит в Chrome. Когда я запускаю его в Chrome, я получаю следующую ошибку: TypeError: undefined не является функцией. Когда я запускаю то же самое в демо, я получаю фактическую функцию. Любая идея, почему я получаю TypeError? – user1048676

Смежные вопросы