2016-02-22 2 views
0

Я пробовал все решения, перечисленные в следующей ссылке: jQuery/HTML - Disable OnClick, но ни один из них не работает для меня.jQuery как отключить событие onclick, запущенное внешним скриптом

Я пытаюсь остановить событие onclick от внешнего .js от стрельбы. .js здесь http://x.instagramfollowbutton.com/follow.js - это может быть unminified на http://unminify.com/

скрипт включен на моем сайте со следующим:

(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.src="//x.instagramfollowbutton.com/follow.js";s.parentNode.insertBefore(g,s);}(document,"script")); 

Полученный HTML-код:

<span class="ig-follow" data-id="*deleted*" data-handle="*deleted*" data-count="true" data-size="small" data-username="false"><div title="Follow @*deleted* on Instagram" class="IGF small"><div class="ig-background"><img class="ig-camera" src="//x.instagramfollowbutton.com/components/instagram/v2/img/ig-camera.png" height="16" width="16"><span class="ig-text">Follow</span></div><div class="ig-count" id="c"><i></i><u></u><a>217</a></div></div></span> 

Как может Я не могу отключить событие onclick внешнего скрипта?

Опять же, я пробовал все решения, перечисленные в следующей ссылке: jQuery/HTML - Disable OnClick, но никто из них не работает для меня.

+1

Если элемент находится в iframe другого домена, вы не можете коснуться этого события щелчка. – epascarello

+0

Нет, его не в iframe, его внутри моего домена –

+0

Вы уверены, что он не обертывает его внутри iframe ??? –

ответ

0

Instagram выглядит очень жадным с помощью обработчиков кликов. Вместо этого попробуйте использовать .stopImmediatePropagation(). Обратите внимание, что для IE поддержка IE составляет 9+.

Сломанный: https://jsfiddle.net/jmarikle/4Loukhm6/
Исправлено: https://jsfiddle.net/jmarikle/4Loukhm6/1/

Никогда не слышал о .stopImmediatePropagation() до этого, но эта статья, кажется, есть хороший explination этого: https://codeplanet.io/preventdefault-vs-stoppropagation-vs-stopimmediatepropagation/

(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.src="//x.instagramfollowbutton.com/follow.js";s.parentNode.insertBefore(g,s);}(document,"script")); 
 

 
document.querySelector('.ig-follow').addEventListener('click', function(event){ 
 
    event.stopImmediatePropagation(); 
 
});
<span class="ig-follow" data-id="*deleted*" data-handle="*deleted*" data-count="true" data-size="small" data-username="false"><div title="Follow @*deleted* on Instagram" class="IGF small"><div class="ig-background"><img class="ig-camera" src="//x.instagramfollowbutton.com/components/instagram/v2/img/ig-camera.png" height="16" width="16"><span class="ig-text">Follow</span></div><div class="ig-count" id="c"><i></i><u></u><a>217</a></div></div></span>

+0

Добавлено так же, не работает :( –

+0

@DavidZ Какой браузер вы используете? Даже снятие демо jsfiddle мусора все еще работает для меня: http://output.jsbin.com/ragizehumu –

+0

Google Chrome, я запускаю все команды jQuery в консоли и смеюсь, когда они все терпят неудачу, начните обсуждение со мной, и я покажу вам живую ссылку? –

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