التقاط جافا سكريبت حدث في IE المحمول
-
16-09-2019 - |
سؤال
أحتاج إلى اكتشاف معرف العنصر الذي ولدت حدث onchange.
هذا الرمز يعمل في معظم المتصفحات الحديثة:
<input type="text" onchange="return onchange_handler(event);"
function onchange_handler(event) {
var id = event.target ? event.target.id : event.srcElement.id;
...
return false;
}
لكنها لا تعمل في أي المحمول.
لقد جربت التعليمة البرمجية التالية، وعلى الأقل إطلاق الحدث ويتم استدعاء وظيفة المعالج، ولكن window.event
غير متوفر عند استدعاء معالج الأحداث:
<input type="text" onchange="return onchange_handler();"
function onchange_handler() {
var event = window.event; // <= evaluated as UNDEFINED
var id = event.target ? event.target.id : event.srcElement.id;
...
return false;
}
هل هناك أي طريقة للحصول على إشارة إلى الحدث المستقل؟ أو نهج بديل لمعرفة معرف العنصر الذي تسبب في الحدث.
المحلول
سيكون الحل البديل هو تمرير العنصر إلى رد الاتصال: (لم يتم اختباره)
<input type="text" id="mytextbox" onchange="return onchange_handler(this);"
function onchange_handler(element) {
var id = element.id;
...
return false;
}
لا تنتمي إلى StackOverflow