Веб-сайт моего клиента использует буфер обмена JS на кнопках для копирования URL-адресов. Это работает правильно при начальной загрузке страницы, но не при загрузке дополнительного содержимого с помощью функции jQuery .load()
. Когда кнопки проверяются в консоли после запуска функции .load()
, события из них удаляются.
Действующий URL для проверки: https://knowideasmedia.ca/holmes-agro. Используйте навигацию «Past Sendouts», чтобы перейти к «8 Tips». После загрузки содержимого попробуйте скопировать один URL-адрес с помощью желтой кнопки «Копировать URL».
jQuery функция
e( ".sendout-link" ).click(function() {
e( ".btn--nav-trigger" ).toggleClass( "btn--nav-trigger-active" );
e( ".sendout__list" ).toggleClass( "sendout__list--open" );
var post_url = e( this ).attr( "href" );
e( "#sendout-container" ).html( '<div class="loading"></div>' );
e( "#sendout-container" ).load( post_url + " #sendout-content", function( response, status, xhr ) {
if ( status == "error" ) {
var msg = "Sorry but there was an error: ";
e( "#sendout-container" ).html( msg + xhr.status + " " + xhr.statusText );
}
});
return false;
});
Буфер обмена JS функция
var btns = document.querySelectorAll('.copy-button');
var clipboard = new ClipboardJS(btns);
clipboard.on('success', function(e) {
e.trigger.textContent = 'URL Copied';
e.trigger.setAttribute('disabled', true);
});