নির্দিষ্ট অবস্থানে উপাদান পান - জাভাস্ক্রিপ্ট


133

জাভাস্ক্রিপ্ট ব্যবহার করে আমি কীভাবে একটি নির্দিষ্ট অবস্থানে উপাদানটি সনাক্ত করতে পারি? মূলত আমি একটি ফাংশন লিখতে চাই যা দুটি ইনপুট প্যারামিটার নেয় (x এবং y স্থানাঙ্ক) এবং পরামিতি দ্বারা প্রতিনিধিত্ব করা পর্দার অবস্থানের এইচটিএমএল উপাদানটি প্রদান করে।


উত্তর:


241

22
শুধুমাত্র যদি সেখানে ছিল document.elementsFromPoint- যদি উপাদানগুলি ওভারল্যাপ হয়।
সেয়রিয়া

2
আমি এটি 5.5 এ কাজ করে বিস্মিত এবং আজকের দিনে তেমন ব্যবহার হয় না।
ভ্লাদ নিকুলা

আমি এই পদ্ধতিটি চেষ্টা করেছি এবং এটি দস্তাবেজ অনুসারে অবস্থানটি পরিমাপ করে। আমি কীভাবে এটি প্যারেন্ট উপাদানগুলির সাথে তুলনামূলকভাবে ব্যবহার করব?
চরস

স্থানাঙ্ক x, y এ যদি কোনও ফ্রেম বা iframe থাকে তবে আপনি সেই অবস্থানের উপাদানটির পরিবর্তে ফ্রেমটি পাবেন।
এলময়ে

13
document.elementsFromPointপরীক্ষামূলকভাবে হলেও সাম্প্রতিক ওয়েবকিট এবং গেকো সক্ষম ব্রাউজারগুলিতে উপলব্ধ। এমডিএন দেখুন ।
zopieux

27

আপনি স্থানীয় জাভাস্ক্রিপ্ট elementFromPoint(x, y)পদ্ধতিটি ব্যবহার করতে পারেন , যা ভিউপোর্টে x, y স্থানাঙ্কে উপাদানটি প্রদান করে।

উপাদানটি থেকে দেখুনফ্রন্টপয়েন্ট w3c খসড়া

এবং, একটি কোড নমুনা:

function changeColor(newColor) {
    // Get the element placed at coords (2, 2)
    var elem = document.elementFromPoint(2, 2);
    // Set the foreground color to the element
    elem.style.color = newColor;
}
<p id="para1">Change this text color using the following buttons.</p>
<button onclick="changeColor('blue');">Blue</button>
<button onclick="changeColor('red');">Red</button>

আপনি setInterval()অবিচ্ছিন্নভাবে উপাদানটির হোভার ইভেন্টটি পরীক্ষা করতে ব্যবহার করতে পারেন তবে এটি প্রস্তাবিত নয়, .hover(...)অ্যাপ্লিকেশনটির কার্যকারিতা বাড়ানোর পরিবর্তে ব্যবহার করার চেষ্টা করুন এবং CSS ব্যবহার করুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.