Прежде всего - Я видел много вопросов по Stackoverflow связанных с отменяя с помощью JQuery, но я не нашел ответа, который бы решить мою конкретную ситуацию. Возможно, что я что-то пропустил - не стесняйтесь направить меня на соответствующий вопрос/ответ, уже отправленный - спасибо!Jquery развязывание не работает
У меня проблемы с пониманием того, почему развязка событий/обработчиков не работает.
Я использую Wordpress 4.4 (хотя я думаю, что Wordpress здесь неактуален), Firefox 42, jQuery 1.11.3.
Соответствующие части моего .html и .js файлы - вот HTML часть:
<div class="py2web-diag-row1-col2">
<ul class="tabs">
<li> <a class="sol-show" target="<?php echo($id); ?>">Show solution</a> </li>
<li><a class="sol-hide" target="<?php echo($id); ?>" disabled>Hide solution</a></li>
</ul>
</div>
Соответствующая часть из scripts.js файла:
jQuery(".sol-hide").click(function() {
// Get id of the corresponding problem solution
id = this.attributes["target"].value;
// Show (unhide) solution div element with target attribute of the current problem
sel = '.p2w-solution[target="' + id + '"]';
jQuery(sel).css("visibility", "hidden");
// Deactivate hide-sol and activate show-sol
sel = '.sol-hide[target="' + id + '"]';
jQuery(sel).attr("disabled", false);
this.setAttribute("disabled", true);
// Activate py2web-s internal events (show moves when clicking on board)
sel = '.p2w-diagram[id="' + id + '"] .p2w-nav-fwd';
//jQuery(sel).off("click");
jQuery(sel).unbind("click");
sel = '.p2w-diagram[id="' + id + '"] .p2w-nav-bwd';
//jQuery(sel).off("click");
jQuery(sel).unbind("click");
});
обработчики событий Нажмите на .p2w -nav-FWD (BWD) элементы определены в другом файле JS, следующим образом:
jQuery(".p2w-nav-fwd").bind("click", Py2Web.navigateForward);
jQuery(".p2w-nav-bwd").bind("click", Py2Web.navigateBackward);
и немного ниже, в Py2Web определение:
navigateForward: function(L) {
L.preventDefault();
C(jQuery('.p2w-solution[target="' + jQuery(this).parent().attr("id") + '"]').children(".active").nextAll("a").first())
},
navigateBackward: function(L) {
L.preventDefault();
C(jQuery('.p2w-solution[target="' + jQuery(this).parent().attr("id") + '"]').children(".active").prevAll("a").first())
}
Так, нажав на ".sol-шоу", то есть ".sol скрытие", якорь, обработчик события "нажмите кнопку" для .p2w-нав-FWD и .p2w-нав -bwd должны быть включены (bind), т.е. отключены (unbind). Однако отключение просто не работает.
Надеюсь, я предоставил всю необходимую информацию, пожалуйста, запросите дополнительные, если необходимо.
Любая помощь приветствуется.
Вы пробовали использовать метод? – madalinivascu
Я пробовал, к сожалению, тоже не работает - не знаю почему. В этом ответе есть тот же совет ... – mf27