Я использую рамочную работу Bootstrap 3, чтобы создать таблицу с некоторыми popovers в моем <td>
. Я показываю только popover, если щелкнул значок (<i>
) для popover, иначе я выполняю другую функцию после нажатия td. Однако, если td изменяется, popover перестает работать, и я не могу понять, почему. Я создал jsFiddle, который отображает проблему.Popover не отображается после изменения элемента dom
1
A
ответ
0
$(document).ready(function() {
setPopo();
});
function changeColor(row)
{
$(row).find('td i.nextPopover').popover('hide');
inner = row.innerHTML;
if(row.style.backgroundColor == 'white')
{
row.style.backgroundColor = 'green';
var tmp = inner.replace('</td>'," <i style='display:inline-block;margin-left:-25px;' class='fa fa-check pull-right'></i></td>");
row.innerHTML = tmp;
setPopo();
}
else
{
row.style.backgroundColor = 'white';
var tmp = inner.replace('<i style="display:inline-block;margin-left:-25px;" class="fa fa-check pull-right"></i></td>',"</td>");
row.innerHTML = tmp;
setPopo();
}
}
function setPopo()
{
$('tr').each(function() {
$(this).find('.nextPopover').popover('hide');
$(this).unbind('click');});
$('tr').each( function() { $(this).on('click', function() {
changeColor(this) }) } );
$('.nextPopover').popover('destroy');
$('.nextPopover').popover();
$('.nextPopover').click(function(e)
{
e.stopPropagation();
$(this).popover();
$('.nextPopover').not(this).popover('hide');
});
}
0
При связывании событие щелчка мышью, вы привязать его к DOM элементу. Если вы измените этот элемент DOM, новый не будет привязан.
Вы можете связать новый элемент, или использовать функцию delegate
(http://api.jquery.com/delegate/)
Смежные вопросы
- 1. Почему IWebBrowser2 не обновляется после изменения DOM?
- 2. Bootstrap popover не отображается
- 3. Bootstrap popover не отображается
- 4. Bootstrap Popover не отображается
- 5. React + Redux: прокрутка элемента DOM после изменения состояния
- 6. Popover внутри jQuery dataTables не работает после изменения страницы
- 7. Как вызвать функцию после изменения стиля элемента dom Javascript/jquery
- 8. .click() не удалось после изменения dom
- 9. DOM не обновляется после изменения Angular $ scope
- 10. селектор JQuery не работает после изменения DOM
- 11. jQuery FancyBox не работает после изменения DOM
- 12. bootstrap popover не удаляется из DOM сразу после уничтожения
- 13. применить событие после изменения DOM
- 14. Запустить Javascript после изменения DOM
- 15. проигравшие изменения после изменения HTML (DOM)
- 16. Popover не отображается, нажав UIButton
- 17. popover не отображается на iphone
- 18. UIPickerView не отображается в popover
- 19. Popover не отображается при открытии
- 20. Popover не отображается при зависании
- 21. Контроллер просмотра Popover не отображается
- 22. Twitter Bootstrap popover не отображается
- 23. uib-popover-template не отображается
- 24. Javascript popover loop не отображается
- 25. Поиск элементов после изменения DOM
- 26. Экземпляр window.onload после изменения DOM?
- 27. Обновите эффект зависания браузера после изменения DOM
- 28. DIV не отображается при удалении элемента DOM, знает ли функция о удалении элемента DOM?
- 29. Переместить выделение после элемента DOM
- 30. bootstrap popover не отображается по опции: hover
Это работало большое, как инициализатор, но он не работает, как только я нажал на тр, хотя я называю setPopo() после щелчка. Имеет ли значение, что элемент dom был создан PHP? –
Пожалуйста, вы можете взглянуть на http://www.youtube.com/watch?v=o5oifnV7G6o, это мой рабочий стол с браузером Chrome, я думал, что все в порядке ... – pbenard
О, я не говоря, что вы jsFiddle не работает, но для моей фактической проблемы (которую скрипта пыталась подражать), мои элементы создаются PHP. –