[英]Modal Alert Box
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
#divdrag1{float:left; width:154px; height:200px; margin:20px;padding:2px;border:1px solid #aaaaaa;}
#div2,#div3{float:left; width:200px; height:195px; margin:10px;padding:10px;border:1px solid #aaaaaa;}
</style>
<script language="javascript" src="../JS/jQuery.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
function allowDrop(ev)
{
ev.preventDefault();
}
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
var n;
function drop(ev)
{
var len=$("#div2 img").length;
alert(len);
if(len > 0)
{
$(document).ready(function() {
var $dialog = $('<div></div>')
.html("This is the <i>content</i> of the dialog box.")
.dialog({
autoOpen: false,
title: "Title of the dialog box",
// add any additional jQuery Dialog options
modal: true
});
$("body").delegate("#div2", "click", function() {
$dialog.dialog('open');
return false;
});
});
}
else
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data).cloneNode(true));
}
}
</script>
</head>
我的html代碼
<body>
<form id="f1" name="form1" method="post">
<div id="divdrag1" ondragover="allowDrop(event)" >
<ul type="none">
<li><img src="smiley.png" draggable="true" ondragstart="drag(event)" id="drag1" width="88" height="31" align="left"> </li>
<li><img src="pic1.jpg" draggable="true" ondragstart="drag(event)" id="drag2" width="88" height="31"> </li>
</ul>
</div>
<div>
<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</div>
<input type="button" value="Clear" >
</form>
</body>
</html>
在這種情況下,我不知道我必須使用什么功能來代替“綁定”。 如果我在按鈕上使用單擊其工作。 但是當我更改為bind時,上面的代碼不起作用。 告訴我為div標簽寫些什么..請幫助我的朋友們...
嘗試這個,
$("#div2").bind('click',function() {
$dialog.dialog('open');
return false;
});
或者您應該在div
click event
上創建dialog
,並使用on()這樣,
$("#div2").on('click',function() {
var $dialog = $('<div></div>')
.html("This is the <i>content</i> of the dialog box.")
.dialog({
autoOpen: false,
title: "Title of the dialog box",
// add any additional jQuery Dialog options
modal: true
});
$dialog.dialog('open');
return false;
});
以我的理解,您不想使用內聯onclick,而是讓jquery捕獲該事件。
您可以使用.bind()
或.on()
$("#div2").bind('click',function() {
$dialog.dialog('open'); // or simply use the selector $('div.dialog') for div that has dialog class
return false;
});
要么
$("#div2").on('click',function() {
$dialog.dialog('open'); // or simply use the selector $('div.dialog') for div that has dialog class
return false;
});
與拖放事件相同
<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
嘗試這個
$(document).ready(function() {
var $dialog = $('<div></div>')
.html("This is the <i>content</i> of the dialog box.")
.dialog({
autoOpen: false,
title: "Title of the dialog box",
// add any additional jQuery Dialog options
modal: true
});
});
對於舊版本的jQuery
$("#div2").live('click', function(){
$dialog.dialog('open');
return false;
});
對於新版本的jQuery
$("body").delegate("#div2", "click", function() {
$dialog.dialog('open');
return false;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.