Хорошо, у меня есть html вроде этого:
<div id="navigation">
<ul>
<li>
<a>tab name</a>
<span class="delete-tab">X</span>
</li>
<li>
<a>tab name</a>
<span class="delete-tab">X</span>
</li>
<li>
<a>tab name</a>
<span class="delete-tab">X</span>
</li>
<li class="selected">
<a>tab name</a>
<span class="tab-del-btn">X</span>
</li>
</ul>
</div>
У меня тогда есть javascript, который оправдывается на странице, которую я не контролирую (это на портале liferay). Затем я хочу манипулировать вещами с помощью своего собственного пользовательского JavaScript.
SO ...
Для каждого из элементов span.delete-tab функция события при нажатии была назначена ранее. Это один и тот же вызов функции для каждого диапазона. Я хочу взять эту функцию (любую) и вызвать ее из события click span.tab-del-btn?
Вот что я пытался сделать:
var navigation = jQuery('#navigation');
var navTabs = navigation.find('.delete-tab');
var existingDeleteFunction = null;
navTabs.each(function (i){
var tab = jQuery(this);
existingDeleteFunction = tab.click;
});
var selectedTab = jQuery('#navigation li.selected');
var deleteBtn = selectedTab.find('.tab-del-btn');
deleteBtn.click(function(event){
existingDeleteFunction.call(this);
});
Это не работает, хотя. Существующая функция удаления не является исходной функцией, это некоторая функция по умолчанию в jquery.
Есть идеи?