如何在拖放元素时执行函数
我有一个基本的 jquery/javascript 问题。
下面的代码将创建可以拖放的对象。如果你点击一个对象,它会显示“下一个”对象的ID。
我希望在该对象第一次“抓取”(拾取)时返回这个值(下一个对象的ID)无需刻意点击),然后返回其放置位置的“下一个”对象的 ID。
理想情况下,如果抓取的位置的 ID 等于其放置的位置,则应该不返回任何ID。
Jquery & Javascript
$(function() {
$( "#sortable" ).sortable();
$( "#sortable" ).disableSelection();
});
$("li").live("click",function(e) {
document.getElementById("result").innerHTML=($(this).next("li").attr('id'))
});
CSS:
#sortable { list-style-type: none; margin: 0; padding: 0; }
#sortable li { margin: 3px 3px 3px 0; padding: 1px; float: left; width: 100px; height: 90px; font-size: 4em; text-align: center; }
</style>
HTML:
<div class="container">
<ul id="sortable">
<li id="li1" class="ui-state-default">1</li>
<li id="li2" class="ui-state-default">2</li>
<li id="li3" class="ui-state-default">3</li>
<li id="li4" class="ui-state-default">4</li>
<li id="li5" class="ui-state-default">5</li>
<li id="li6" class="ui-state-default">6</li>
</ul>
</div>
<br><div id="result">Result Placed Here</div>
我什至不知道从哪里开始,因为我不知道如何在不单击(不抓取)的情况下运行该函数。
非常感谢任何帮助,
Taylor
A JSfiddle 可以在这里找到: http://jsfiddle.net/TSM_mac/uuHsg/4/
I have a sorta-basic jquery/javascript question.
The code below will create objects which can be dragged and dropped. If you click on an object, it will display the ID of the "next" object.
I wish to return this value (of the next object's ID) when the object is first "grabbed" (picked up without deliberately clicking) and then return the ID of the "next" object where it is placed.
Ideally, if the ID of the location it is grabbed is equal to the location where it is placed, it should not return any ID.
The Jquery & Javascript
$(function() {
$( "#sortable" ).sortable();
$( "#sortable" ).disableSelection();
});
$("li").live("click",function(e) {
document.getElementById("result").innerHTML=($(this).next("li").attr('id'))
});
The CSS:
#sortable { list-style-type: none; margin: 0; padding: 0; }
#sortable li { margin: 3px 3px 3px 0; padding: 1px; float: left; width: 100px; height: 90px; font-size: 4em; text-align: center; }
</style>
The HTML:
<div class="container">
<ul id="sortable">
<li id="li1" class="ui-state-default">1</li>
<li id="li2" class="ui-state-default">2</li>
<li id="li3" class="ui-state-default">3</li>
<li id="li4" class="ui-state-default">4</li>
<li id="li5" class="ui-state-default">5</li>
<li id="li6" class="ui-state-default">6</li>
</ul>
</div>
<br><div id="result">Result Placed Here</div>
I don't even know where to start because I do not know how to run the function without it being clicked (without grabbing).
Any help is greatly appreciated,
Taylor
A JSfiddle can be found here:
http://jsfiddle.net/TSM_mac/uuHsg/4/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用可排序事件
start
和stop
。Use the sortable events
start
andstop
.