gpt4 book ai didi

javascript - 如何在jquery的drop方法中调用函数?

转载 作者:行者123 更新时间:2023-11-29 14:54:20 25 4
gpt4 key购买 nike

我在 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 链接,以便你们了解我面临的问题。

请帮助。

最佳答案

在你的第二个版本中传递eventui参数

function test(event, ui){ ...

因此你需要在函数中引用 elemnt 作为 this 调用 test 函数,如下所示

drop: function(event, ui) {

test.call(this, event, ui);

}

DEMO

关于javascript - 如何在jquery的drop方法中调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20393609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com