Открыть диалоговое окно jQuery по нажатию гиперссылки
Я использую exhibit-api.js
а также D3.js
У меня проблема в том, что на map-lens
в моей карте я предоставил гиперссылку. Пока еще не открывается новое окно или новая страница в порядке с hyperlink
, Но мне нужно открыть страницу в jQuery
всплывающее окно.
Я перепробовал все, но JavaScript не может найти <a>
пометить с id
или же class
Что я делаю неправильно?
Что я пробовал:
Следующая строка кода работает, но она открывает страницу в новом окне, мне нужно всплывающее окно.
<a id="file" data-ex-href-content=".url" onclick="javascript:window.open('this.href','_blank','height=300;width=300;');">Interest Graph</a>
<script type="text/javascript">
$('#display').popupWindow({
centerScreen:1
})
</script>
Ниже мой код
2 ответа
Основываясь на ваших планах, я создал этот пример PLUNK, который, как мне кажется, дал желаемые результаты. Пожалуйста, проверьте.
<script type="text/javascript">
$(document).ready(function () {
$("#dialog").dialog({ autoOpen: false });
$("#hlOpenMe").click(
function () {
$("#dialog").dialog('open');
return false;
}
);
});
</script>
Похоже, вы пытаетесь связать событие click до того, как элемент, с которым вы хотите связать его, существует. Помните, что всплывающие окна объектива создаются выставкой на лету, поэтому если вы, например, $("#display"). Bind("click"), прежде чем кто-то нажмет на ссылку, событие будет привязано к элементу в объективе. шаблон вместо фактического всплывающего объектива. Одним из способов решения этой проблемы является использование механизма делегирования событий jquery, например, присвоение класса "popopen" ссылке в шаблоне линзы, а затем использование $('body'). On("click",". Popopen", function (). {ваш обработчик}). Таким образом, jquery вызовет событие click для любого элемента.popopen, даже если он создан после привязки события.