प्लग-इन का उपयोग किए बिना, मैं कैसे जांचूंगा कि कोई तत्व दूसरे के अंदर है? मैंने प्रयोग करने की कोशिश की
element.hover();
लेकिन कोई फायदा नहीं हुआ। क्या यह शुद्ध JQuery के साथ संभव है, या मुझे वर्कअराउंड की तलाश करनी चाहिए?
वर्तमान में कोड जैसा दिखता है
$(document).ready(function(){
$(".element_to_drag").mousedown(function(){
$(this).addClass("dragging");
$(".dragging").live("mousemove", function(e) {
var offset = $("#container").offset();
var x = offset.left;
var y = offset.top;
$(this).css("position", "absolute");
$(this).css("left", e.pageX - x);
$(this).css("top", e.pageY - y);
})
$(".dragging").live("mouseup", function(e)
{
$(this).removeClass("dragging");
})
$("#elementContainer").hover(function()
{
$(".dragging").css("background-color", "red");
});
});
});
मैं अभी भी बहुत कुछ सीख रहा हूँ, कुछ भी करने के लिए स्वतंत्र महसूस करता हूँ
उत्तर:
जवाब के लिए 0 № 1इसके बजाय इसे रखने के लिए अपने mousemove फ़ंक्शन को अपडेट करें:
$(this).css("position", "absolute");
$(this).css("left", e.pageX - $(this).width()/2);
$(this).css("top", e.pageY - $(this).height()/2);
$(this)
आपकी ड्रैग करने योग्य वस्तु को संदर्भित करता है। फिर आपको यह देखने की ज़रूरत है कि क्या ड्रैग करने योग्य वस्तु अंदर है #container
अगर एक स्टेटमेंट है जो $ (यह) .css ("बाएं") की जाँच करता है, तो X पोज़िशन से अधिक है (इसे न भरें): http://api.jquery.com/position/) कंटेनर का।
बेशक आप ड्रैग करने योग्य वस्तु की चौड़ाई को देखने के लिए कुछ जांच करना चाहते हैं और यह सुनिश्चित कर सकते हैं कि यह कंटेनर के अंदर पूरी तरह से बैठे।