为什么不将ibm.com显示为400x500px模式?该部分似乎是正确的,但它不会导致弹出模式出现。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>test</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.8.23.custom.css"/>
</head>
<body>
<p>First open a modal <a href="http://ibm.com" class="example"> dialog</a></p>
</body>
<!--jQuery-->
<script src="http://code.jquery.com/jquery-latest.pack.js"></script>
<script src="js/jquery-ui-1.8.23.custom.min.js"></script>
<script type="text/javascript">
function showDialog(){
$(".example").dialog({
height: 400,
width: 500,
modal: true
return false;
}
</script>
</html>
答案 0 :(得分:56)
var page = "http://somurl.com/asom.php.aspx";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false,
modal: true,
height: 625,
width: 500,
title: "Some title"
});
$dialog.dialog('open');
在函数中使用它。如果您真的想要将外部URL加载为IFRAME,这非常有用。 还要确保在自定义jqueryUI中有对话框。
答案 1 :(得分:15)
编辑:如果你使用的是最新版本的jQueryUI,这个答案可能会过时。
用于触发对话框的锚点
<a href="http://ibm.com" class="example">
这是脚本 -
$('a.example').click(function(){ //bind handlers
var url = $(this).attr('href');
showDialog(url);
return false;
});
$("#targetDiv").dialog({ //create dialog, but keep it closed
autoOpen: false,
height: 300,
width: 350,
modal: true
});
function showDialog(url){ //load content and open dialog
$("#targetDiv").load(url);
$("#targetDiv").dialog("open");
}
答案 2 :(得分:6)
以下内容可在任何网站上开箱即用:
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script>
<div class="dialogBox" style="border:1px solid gray;">
<a href="/" class="exampleLink">Test</a>
<!-- TODO: Change above href -->
<!-- NOTE: Must be a local url, not cross domain -->
</div>
<script type="text/javascript">
var $modalDialog = $('<div/>', {
'class': 'exampleModal',
'id': 'exampleModal1'
})
.appendTo('body')
.dialog({
resizable: false,
autoOpen: false,
height: 300,
width: 350,
show: 'fold',
buttons: {
"Close": function () {
$modalDialog.dialog("close");
}
},
modal: true
});
$(function () {
$('a.exampleLink').on('click', function (e) {
e.preventDefault();
// TODO: Undo comments, below
//var url = $('a.exampleLink:first').attr('href');
//$modalDialog.load(url);
$modalDialog.dialog("open");
});
});
</script>
&#13;
答案 3 :(得分:1)
ImageView image_name = (ImageView) findViewById(R.id.image); //Find your image here
image_name.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Log.d("test", "ontouch");
return false;
}
});
image_name.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.d("test", "onclick");
}
});
if you are using **Bootstrap** this is solution,
$(document).ready(function(e) {
$('.bootpopup').click(function(){
var frametarget = $(this).attr('href');
targetmodal = '#myModal';
$('#modeliframe').attr("src", frametarget );
});
});
答案 4 :(得分:0)
模态总是将内容加载到页面上的元素中,而这通常是div
。在jQuery UI对话框中,将此div
视为iframe
等价物。现在,您是否需要驻留在页面中的静态内容,或者是否希望从其他位置获取内容,这取决于您的要求。您可以使用此代码,看看它是否适合您:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>test</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.8.23.custom.css"/>
</head>
<body>
<p>First open a modal <a href="http://ibm.com" class="example"> dialog</a></p>
<div id="dialog"></div>
</body>
<!--jQuery-->
<script src="http://code.jquery.com/jquery-latest.pack.js"></script>
<script src="js/jquery-ui-1.8.23.custom.min.js"></script>
<script type="text/javascript">
$(function(){
//modal window start
$(".example").unbind('click');
$(".example").bind('click',function(){
showDialog();
var titletext=$(this).attr("title");
var openpage=$(this).attr("href");
$("#dialog").dialog( "option", "title", titletext );
$("#dialog").dialog( "option", "resizable", false );
$("#dialog").dialog( "option", "buttons", {
"Close": function() {
$(this).dialog("close");
$(this).dialog("destroy");
}
});
$("#dialog").load(openpage);
return false;
});
//modal window end
//Modal Window Initiation start
function showDialog(){
$("#dialog").dialog({
height: 400,
width: 500,
modal: true
}
</script>
</html>
但是,您应该记住一些事项。您将无法在本地系统上加载远程URL,如果要加载远程URL,则需要上载到服务器。即使这样,您也只能加载属于同一域的URL;例如如果您将此文件上传到“www.example.com”,则只能访问“www.example.com”上托管的文件。加载外部链接this可能有所帮助。所有这些信息都可以在@Robin建议的link中找到。
答案 5 :(得分:0)
我是这样做的,其中'struts2ActionName'是我的情况下的struts2动作。您可以改用任何网址。
var urlAdditionCert =${pageContext.request.contextPath}/struts2ActionName";
$("#dialogId").load( urlAdditionCert).dialog({
modal: true,
height: $("#body").height(),
width: $("#body").width()*.8
});