В приведенном ниже коде я приложил onChange() событие к id "phone_world", а также применил маску ввода на нем. Входная мачта работает нормально, но удаление существующего события и приветствия не вызвано.jquery-InputMast переопределяет существующие события в поле ввода
<div class="demo">
<input type="text" id="phone_world" onChange = "hello()" value="" size="25">
<label for="phone_world" id="descr_world">Страны мира</label>
<script>
var listCountries = $.masksSort($.masksLoad("https://cdn.rawgit.com/andr-04/inputmask-multi/master/data/phone-codes.json"), ['#'], /[0-9]|#/, "mask");
var maskOpts = {
inputmask: {
definitions: {
'#': {
validator: "[0-9]",
cardinality: 1
}
},
showMaskOnHover: false,
autoUnmask: true,
clearMaskOnLostFocus: false
},
match: /[0-9]/,
replace: '#',
listKey: "mask"
};
var maskChangeWorld = function(maskObj, determined) {
if (determined) {
var hint = maskObj.name_ru;
if (maskObj.desc_ru && maskObj.desc_ru != "") {
hint += " (" + maskObj.desc_ru + ")";
}
$("#descr_world").html(hint);
} else {
$("#descr_world").html("Страны мира");
}
}
$('#phone_world').inputmasks($.extend(true, {}, maskOpts, {
list: listCountries,
onMaskChange: maskChangeWorld
}));
function hello(){
alert('hi');
}
</script>
Вы можете добавить рабочий фрагмент одного и того же, со всеми зависимости Js. Возможно, вам нужно добавить функцию обратного вызова входной маски, такую как 'onKeyDown' или' onKeyValidation'. Проверьте [документацию здесь] (https://github.com/RobinHerbots/jquery.inputmask#jqueryinputmask-3x). –
https://fiddle.jshell.net/kp183q11/light/ Проверьте эту ссылку на скрипку. Здесь нам просто нужно добавить onClick = "Hello" на id = "phone_world" и функцию Hello. – Kalashir
@aManHasNoName Можем ли мы добавить две функции за один раз в параметрах InputMask? Я пытаюсь добавить onKeyValidation(), но он выполняется только наMaskChange() – Kalashir