النقر مرتين لتفعيل؟ قضية javaScript onclick
-
19-08-2019 - |
سؤال
أواجه مشكلة في مشروع أعمل عليه في الوقت الحالي يستفيد من تصديق البرنامج المساعد لـ jQuery ، عندما يظهر خطأ التحقق من الصحة ، أقوم بتطبيق علامة مرساة ديناميكية عليها باستخدام onclick. وهذه onclick هذه هي المشكلة ...
في المرة الأولى التي يظهر فيها خطأ التحقق من الصحة ، يتعين علي النقر على الرابط مرتين حتى يتم إطلاق حدث OnClick.
لقد ألقيت نظرة على الصفحة من خلال شريط أدوات المطورين IE ، ويلتف المرساة رسالة التحقق بشكل صحيح ، مع إرفاق جميع ملفات JavaScript الضرورية
ماذا يحدث؟ أي اقتراحات ستكون موضع تقدير كبير :)
تحرير: مقتطفات الرمز المضافة
jQuery(document).ready(function() {
jQuery('#group-edit-form').validate({
rules: {
title: {
required: true,
remote: '<%=Url.Action("ValidateGroupName", new { id = ViewData["GroupId"] }) %>?parentId=' + getParentId()
}
},
messages: {
title: {
required: getMessage (7002),
remote: '<%= ((MessagingModel)ViewData["Messages"]).GetMessage (9001) %>'
}
}
})
});
function getMessage(messageId) {
var message = "<a id='errorMessageAnchor_" + messageId + "' onclick='messageBuilder(" + messageId + ")'><%= ((MessagingModel)ViewData["Messages"]).GetMessage (7002) %></a>";
return message;
}
المحلول
إنه حدث Blur الذي يتداخل مع نقرة المرساة.
يمكنك اختيار أحد هذه الخيارات:
- تعطيل التحقق من صحة الحدث مع
onfocusout:false
- تعطيل ضبط التركيز على عنصر غير صالح مع
focusInvalid:false
لا تنتمي إلى StackOverflow