J'utilise JQueryui pour faire glisser-déposer sur l'une de mes pages et pour une raison quelconque, je ne peux pas sembler obtenir un attribut de l'objet UI.Draggable étant transmis dans mon événement de goutte dressé. P>
ui.draggable.attr ("src") et $ (UI.Draggable) .attr ("src") à la fois renvoyé non défini, cependant si je tapis ui.draggable.html (), je vais récupérer le HTML. Des idées? P>
4 Réponses :
Je l'ai compris. La solution consiste à appeler ui.draggable.find ("img"). ATTR ("SRC"), je viens de supposer que l'objet UI.Draggable était une image. P>
Vous pouvez faire de cette façon, par exemple
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script src="jquery-1.5.min.js"></script>
<script src="jquery-ui-1.8.16.custom.min.js"></script>
<style>
body{
margin:0;
padding:0;
}
.box{
display:block;
width:100px;
height:50px;
background-color:green;
border:1px solid #000;
}
#drop{
position:absolute;
top:220px;
left:220px;
width:250px;
height:250px;
border:1px solid red;
background:yellow;
z-index:1;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$('#boxBesar p').each(function(index,element){
$('#boxBesar p:eq('+index+')').css({
'border':'1px solid #000',
'width':'100px',
'height':'100px',
'position':'absolute',
'left':(index*200)+10,
'z-index':index+2,
'color':'black',
'text-align':'center',
'background':'#ccc'
})
})
.draggable({
revert:true
})
$('#drop').droppable({
drop:dropIt
})
function dropIt(event,ui){
//get an id
**var id=ui.draggable.attr('id')**
//test an id name
alert(id)
}
})
</script>
</head>
<body>
<div id="boxBesar">
<p id="b1">Box 1</p>
<p id="b2">Box 2</p>
</div>
<div id="parent">
<div id="drop" >
</div>
</div>
</body>
</html>
La réponse de Jon est correcte. La solution est simplement simplement essayer la méthode Compte tenu d'un élément HTML déclaré comme "Draggable" de JQuery Ui: P> attr code>, sans tenter d'inspecter l'élément glacible au préalable (sinon vous serez perplexe). ui.draggable.title: undefined
ui.draggable.attr("title"): I am an image!
ui.draggable: [object Object]
-> No Properties
Cette réponse est laissée pour les futurs utilisateurs. Console juste Console Logne par ui.Draggable et développez-la, puis ui.Draggable.context ...... Donc. Vous comprendrez ce que le nom de la source est.
Nommez-vous votre deuxième argument à chuter () 'UI'? Donc:
Drop: fonction (événement, UI) {... code>Yep, goutte: fonction (événement, ui) {console.log (ui.draggable.attr ("src")); }