2015-02-02 4 views
-3

У меня есть небольшая функция jQuery, которая отображает всплывающее окно, но оно не работает на определенном веб-сайте, на котором я хочу включить его.Как я могу написать этот jQuery в стандартном JavaScript?

$(".reg_faqs").click(function(e) { 
    e.preventDefault(); 
    window.open($(this).attr("href"), "popupWindow", "width=600,height=600,scrollbars=yes"); 
}); 

версия JQuery я использую 1.11.2

Можно записать эту функцию в «стандартной» без библиотеки JavaScript? Я хотел бы проверить, что это не проблема с конфликтующими сценариями jQuery на странице, но я не знаю, с чего начать.

+0

Да, это возможно, и весьма тривиальна. Посмотрите на 'document.getElementsByClassName',' addEventListener' и '.href'. – Bergi

+0

Динамически создаются ли элементы 'reg_faqs'? вам, возможно, придется посмотреть на делегирование событий, если элементы создаются динамически. –

+0

. К счастью, на странице есть только один <. – mpdc

ответ

0

Это точно

function handle(e) { 
    e.preventDefault(); 
    window.open(this.href, "popupWindow", "width=600,height=600,scrollbars=yes"); 
} 

var el = document.querySelector('.req_faqs'); 

el.addEventListener('click',handle); 
+1

Я вижу там '$ (..)' ;-) – HBP

+0

К сожалению. Скопировать и вставить. Благодаря! –

2
[].forEach.call(document.getElementsByClassName('reg_faqs'), function(elem) { 
    elem.addEventListener('click', function(event) { 
    window.open(this.href, "popupWindow", "width=600,height=600,scrollbars=yes"); 
    event.preventDefault(); 
    }, false); 
}); 
Смежные вопросы