2016-04-21 2 views
1

Я построю расширение google-chrome и теперь хочу добавить выпадающее меню. Моя проблема в том, что когда я нажимаю на пункты меню, открываю новую вкладку chrome с моим popup.html и не перезагружаю ее. Я пробовал это и с <ul> и <li>.выпадающее меню в моем расширении chrome

<div class="dropdown"> 
     <button class="dropbtn">Dropdown</button> 
     <div class="dropdown-content"> 
      <a id="menu1" href="#">menu1</a> 
      <a id="menu2" href="#">menu2</a> 
      <a id="menu3" href="#">menu3</a> 
     </div> 
</div> 

Я хочу использовать его для запуска JavaScript после выбора.

ответ

1

Просто прослушайте click событие для a и добавьте e.preventDefault(), чтобы отключить поведение браузера по умолчанию.

$(".dropdown-content a").click(function(e) { 
    // your logic here 
    e.preventDefault(); 
}); 
+0

Я попробовал и написал только для тестирования document.write («test»); для логики. Теперь он не открывает новую вкладку и перезагружает всплывающее окно. Но мой дырокол html ушел. Там просто «тест». – Paili

+1

@Paili, обратите внимание, что 'document.write' используется для записи строки текста из потока документа, и когда событие click выполняется, документ был загружен (закрыт), запись в закрытом документе будет автоматически вызывать' document.open', который очистит документ. Подробнее см. Https://developer.mozilla.org/en-US/docs/Web/API/Document/write. –

+0

Спасибо за эту информацию. Используется теперь $ ("# card"). Append ('

новый элемент!

'); и это сработало для меня. – Paili

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