2015-06-16 6 views
1

У меня есть этот пример:Как открыть всплывающее окно с помощью JQuery?

https://jsfiddle.net/bac8qdq1/

HTML:

<a id="OpenDialog" href="#">Click here to open dialog</a> 
<div id="dialog" title="Dialog Title"> 
    <p>test</p> 
</div> 

JQuery:

$(document).ready(function() { 
    $("#OpenDialog").click(function() { 
     $("#dialog").dialog({ 
      modal: true, 
      height: 590, 
      width: 1005 
     }); 
    }); 
}); 

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

Я пробовал вышеуказанный код, но, к сожалению, он не работал ... Можете ли вы рассказать мне, как мы должны решить эту проблему? Я хочу, чтобы окно открывалось и содержало элемент textarea.

+0

Что пошло не так? Ошибка консоли? Делали ли вы какую-либо отладку? –

+0

@RinoRaj уже есть скрипка в вопросе OP – Mivaweb

+3

В вашей скрипке отсутствует ссылка на jqueryui https://jsfiddle.net/bac8qdq1/1/ – artm

ответ

3

Вот решение. Yo может попробовать

$(document).ready(function() { 
      $("#OpenDialog").click(function() { 
       //$("#dialog").dialog({modal: true, height: 590, width: 1005 }); 
       var w = window.open("", "popupWindow", "width=600, height=400, scrollbars=yes"); 
       var $w = $(w.document.body); 
       $w.html("<textarea></textarea>"); 
      }); 
     }); 

Вот отредактированный jsfiddle https://jsfiddle.net/bac8qdq1/13/

+1

Я думаю, что это нехорошо скрипать ссылку – Cristi

+0

Эй, прошу прощения за неправильную ссылку. Я обновил его –

+0

В противном случае вам нужно использовать jquery ui в качестве ссылки. Вы играете, не пользуетесь этим. –

1

Чтобы открыть dialog Используйте open вариант:

$("#OpenDialog").click(function() { 
    $(".selector").dialog("open"); 
}); 

Docs: http://api.jqueryui.com/dialog/#method-open

Вы также можете использовать autoOpen опцию, чтобы открыть диалоговое окно инициализации:

$("#OpenDialog").click(function() { 
    $("#dialog").dialog({ 
     modal: true, 
     height: 590, 
     width: 1005, 
     autoOpen: true 
     // ^^^^^^^^^^^ 
    }); 
}); 

Docs: http://api.jqueryui.com/dialog/#option-autoOpen

2

У меня есть обновление скрипку для вас, пожалуйста, посмотрите. Он работает

https://jsfiddle.net/bac8qdq1/12/

$(document).ready(function() { 
    $("#dialog").dialog({ autoOpen: false, modal: true, height: 590, width: 1005 }); 

      $("#OpenDialog").click(function() { 
       $("#dialog").dialog('open'); 
      }); 
     }); 
+1

тоже, я добавил jqueryui, css. убедитесь, что вы добавили это. – Maddy

1

Или даже without JavaScript. Просто для удовольствия.

#dialog{ 
    display: none; 
} 
#dialog:target{ 
    display: block; 
} 
#close{ 
    position: fixed; 
    opacity: 0; 
} 
#close:target + #dialog{ 
    display: none; 
} 
+0

Спасибо за это, это хорошо. Знаете ли вы, что это поддержка всех браузеров, таких как IE 7-11, chrome, firefox, opera, safari? – Maddy

+0

Мое удовольствие. Нет ничего нового, поэтому он должен хорошо работать во всех браузерах. – sgromskiy

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