作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 jquery 中有一些带有可拖放元素的代码。
这是我的 jsfiddle 链接 - http://jsfiddle.net/hirenwebdp/Mf6zJ/333/
我想通过为
创建一个函数来优化此代码drop: function(event, ui) {
var self = $(this);
self.find(".placeholder").remove();
var productid = ui.draggable.attr("data-id");
if (self.find("[data-id=" + productid + "]").length) return;
$("<li></li>", {
"text": ui.draggable.text(),
"data-id": productid
}).appendTo(this);
$("#equal").hide();
// To remove item from other shopping chart do this
var cartid = self.closest('.shoppingCart').attr('id');
$(".shoppingCart:not(#"+cartid+") [data-id="+productid+"]").remove();
var isAllFilled = true;
$(".shoppingCart").each(function(){
if($(this).find('ol .placeholder').length > 0)
{
isAllFilled = false;
return
}
});
if(isAllFilled)
{
$("#equal").show();
$("#equal").html("Congratulation! You have entered each block in correct place.");
}
所以我已经编写了代码但无法正常工作。元素被拖动但不可放置。
优化后jsfiddle链接为http://jsfiddle.net/Mf6zJ/486/
那么如何解决这个问题。请先检查两个 jsfiddle 链接,以便你们了解我面临的问题。
请帮助。
最佳答案
在你的第二个版本中传递event
和ui
参数
function test(event, ui){ ...
因此你需要在函数中引用 elemnt 作为 this
调用 test
函数,如下所示
drop: function(event, ui) {
test.call(this, event, ui);
}
关于javascript - 如何在jquery的drop方法中调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20393609/
我是一名优秀的程序员,十分优秀!