رویداد ondragenter
تعریف و استفاده:
وقتی که یک عنصر قابل حرکت یا انتخاب متنی به عنوان هدف قرار میگیرد، رویداد ondragenter رخ میدهد.
رویدادهای ondragenter و ondragleave به کاربر کمک میکنند تا بفهمد یک عنصر قابل حرکت به زودی به عنوان هدف قرار میگیرد یا از هدف خارج میشود. به عنوان مثال، میتوانید با تنظیم رنگ پسزمینه در هنگام ورود عنصر قابل حرکت به عنوان هدف و حذف آن در هنگام خروج از هدف، این کار را انجام دهید.
حرکت و رها کردن یکی از ویژگیهای بسیار رایج HTML5 است. این به معنای این است که شما یک شیء را "گرفتار" کرده و آن را به مکان دیگری میکشید. برای یادگیری بیشتر، لطفاً به پاشه HTML5آموزش HTML استفاده کنید.
توضیحات:برای اینکه یک عنصر قابل حرکت باشد، از ویژگی draggable HTML5.
نکته:توضیحات:
به طور پیشفرض، لینکها و تصاویر قابل حرکت هستند و نیازی به ویژگی draggable نیست.
در مراحل مختلف عملیات حرکت و رها کردن، تعداد زیادی رویداد استفاده میشود و ممکن است رخ دهند:
- در رویدادهایی که روی عنصر قابل حرکت (عنصر منبع) رخ میدهند: ondragstart
- - وقتی که کاربر شروع به حرکت عنصر میکند، رخ میدهد ondrag
- - وقتی که عنصر قابل حرکت در حال حرکت است، رخ میدهد ondragend
- وقتی که کاربر عملیات حرکت را به پایان میرساند، رخ میدهد
- ondragenter در رویدادهایی که روی هدف قرار میگیرند در زمان قرار دادن:
- - وقتی که عنصر قابل حرکت به عنوان هدف قرار میگیرد، رخ میدهد ondragover
- - وقتی که عنصر قابل حرکت روی هدف قرار دارد، رخ میدهد ondragleave
- - وقتی که عنصر قابل حرکت از هدف خارج میشود، رخ میدهد ondrop
- وقتی که عنصر قابل حرکت روی هدف قرار میگیرد، رخ میدهد
مثال:
وقتی که یک عنصر قابل حرکت به عنوان هدف قرار میگیرد، جاوااسکریپت اجرا میشود:
<div ondragenter="myFunction(event)"></div>
در پایین صفحه مثالهای بیشتری از TIY وجود دارد.
نحوهی نوشتن:
در HTML:< elementmyScriptondragenter="
">
در JavaScript، از روش addEventListener() استفاده کنید:در JavaScript:myScript.ondragenter = function(){
};
در JavaScript، از روش addEventListener() استفاده کنید:.addEventListener("dragenter", myScript);
توضیحات:این نسخه از Internet Explorer 8 یا قدیمیتر پشتیبانی نمیکند مетод addEventListener().
جزئیات فنی
بالارفتن: | پشتیبانی |
---|---|
قابل لغو: | پشتیبانی |
نوع رویداد: | DragEvent |
برچسبهای HTML پشتیبانیشده: | تمام عناصر HTML |
نسخه DOM: | رویدادهای سطح 3 |
پشتیبانی مرورگر
اعداد در جدول نشاندهنده نسخه اولین مرورگر هستند که از این رویداد پشتیبانی میکند.
رویداد | کروم | IE | افریق | سفاری | آپرا |
---|---|---|---|---|---|
ondragenter | 4.0 | 9.0 | 3.5 | 6.0 | 12.0 |
مثالهای بیشتر
آموزش همهی رویدادهای ممکن کشیدن و رها کردن:
<p draggable="true" id="dragtarget">کشیدن من!</p> <div class="droptarget">اینجا رها کنید!</div> <script> /* ----------------- رویدادهایی که در هدف کشیدن فعال میشوند ----------------- */ document.addEventListener("dragstart", function(event) { // روش setData() در dataTransfer داده نوع و مقدار دادهای که در حال کشیدن است را تنظیم میکند event.dataTransfer.setData("Text", event.target.id); // در حال شروع به کشیدن عنصر p، چندین متن را چاپ کنید document.getElementById("demo").innerHTML = "; شروع به کشیدن عنصر p کردیم."; // شفافیت عنصر قابل کشیدن را تغییر دهید event.target.style.opacity = "0.4"; }); // در حال کشیدن عنصر p، رنگ متن چاپ شده را تغییر دهید document.addEventListener("drag", function(event) { document.getElementById("demo").style.color = "red"; }); // پس از پایان کشیدن عنصر p، چندین متن را چاپ کرده و شفافیت را تنظیم کنید document.addEventListener("dragend", function(event) { document.getElementById("demo").innerHTML = "; کامپایل کردن پایان دادن به کشیدن عنصر p."; event.target.style.opacity = "1"; }); /* ----------------- رویدادهایی که در هدف قرار دادن فعال میشوند ----------------- */ // هنگامی که عنصر قابل به نقل p به درون droptarget وارد میشود، لبههای DIV را تغییر دهید document.addEventListener("dragenter", function(event) { if ( event.target.className == "droptarget" ) { event.target.style.border = "3px dotted red"; } }); // به طور پیشفرض، نمیتوان داده/عنصر را در سایر عناصر قرار داد. برای اجازه دادن به قرار دادن، باید پردازش پیشفرض عناصر را جلوگیری کنیم document.addEventListener("dragover", function(event) { event.preventDefault(); }); // هنگامی که عنصر قابل به نقل p از droptarget خارج میشود، لبههای DIV را تنظیم مجدد کنید document.addEventListener("dragleave", function(event) { if ( event.target.className == "droptarget" ) { event.target.style.border = ""; } }); /* در هنگام رها کردن - جلوگیری از پردازش پیشفرض مرورگر برای دادهها (در صورت قرار دادن پیشفرض به عنوان لینک باز میشود) */ رنگ متن خروجی و رنگ لبه DIV را تنظیم مجدد کنید با استفاده از روش dataTransfer.getData() داده قابل به نقل را به دست آورید داده قابل به نقل و رها شدن، شناسه عنصر قابل به نقل و رها شدن است ("drag1") قراردادن عنصر قابل به نقل به درون عنصر قرار داده شده */ document.addEventListener("drop", function(event) { event.preventDefault(); if ( event.target.className == "droptarget" ) { document.getElementById("demo").style.color = ""; event.target.style.border = ""; var data = event.dataTransfer.getData("Text"); event.target.appendChild(document.getElementById(data)); } }); </script>