Открыть диалоговое окно 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, даже если он создан после привязки события.

Другие вопросы по тегам