открыть диалоговое окно jQuery по нажатию гиперссылки

0

Я использую 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>

Следующий мой код

  • 0
    Попробуйте удалить свойство _blank? _blank предполагает открыть ссылку в новой вкладке.
  • 0
    @AsadMalik На самом деле это не проблема, так как я написал, что window.open () работает нормально. мне нужно открыть jQuery всплывающие окна, такие как jsfiddle.net/HmBmU/5
Показать ещё 4 комментария
Теги:
d3.js
hyperlink
simile

2 ответа

1
Лучший ответ

Основываясь на вашем plunk, я создал этот пример PLUNK, который, как я считаю, имеет желаемые результаты. Пожалуйста, проверьте.

<script type="text/javascript">
    $(document).ready(function () {
        $("#dialog").dialog({ autoOpen: false });

        $("#hlOpenMe").click(
            function () {
                $("#dialog").dialog('open');
                return false;
            }
        );
    });
</script>
  • 0
    Благодарю вас. Можете ли вы указать мне, что я делаю не так? Я даже предоставляю событие click и правильный идентификатор, но все еще не могу открыть диалоговое окно.
0

Похоже, вы пытаетесь связать событие click, прежде чем элемент, который вы хотите связать с ним, существует. Помните, что всплывающие окна создаются экспонатом "на лету", поэтому, если вы, например, $ ("# display") свяжетесь ("нажмите"), прежде чем кто-то нажимает на ссылку, событие будет привязано к элементу в объективе вместо фактического всплывающего окна. Один из способов - использовать механизм делегирования событий jquery, например назначить класс "popopen" на ссылку в шаблоне объектива, затем использовать $ ('body'). On ("click", ". Popopen", function() {ваш обработчик}). Таким образом, jquery вызовет событие click для любого элемента.popopen, даже если он создан после привязки события.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню