Попробуйте это:
В вашем HTML:
<div id="tb"></div>
В ваших JS:
require(["dijit/form/ValidationTextBox",
"dojo/on",
"dojo/_base/event",
"dojo/domReady!"],
function(ValidationTextBox, on, event){
var textBox = new ValidationTextBox({}, "tb");
on(textBox.domNode, "keypress", function(evt){
var charOrCode = evt.charCode || evt.keyCode;
if ("." === String.fromCharCode(charOrCode)) {
event.stop(evt);
}
});
});
декларативного пример:
<div data-dojo-type="dijit/form/ValidationTextBox">
<script type="dojo/on" data-dojo-event="keypress" data-dojo-args="evt">
require(["dojo/_base/event"], function(event){
var charOrCode = evt.charCode || evt.keyCode;
if ("." === String.fromCharCode(charOrCode)) {
event.stop(evt);
}
});
</script>
</div>
Привет спасибо за ответ. Фактически я использую декларативный способ кодирования в додзё. Я попытался сделать это так, как это правильно, или есть ли другой способ написать декларативный код. Добавил событие onKeyPress в html, а также я заметил, что «stopEvent» устарел. Не могли бы вы помочь мне в этом? функция ValidationDotCheck (evt) { var charOrCode = evt.charCode || evt.keyCode; if ("." === String.fromCharCode (charOrCode)) { dojo.stopEvent (evt); } \t \t} – user1716006
Просто замените dojo.stopEvent на event.stop, и у вас больше не будет недостатков. Не забудьте потребовать dojo/_base/event, поскольку это то, что «событие» сглажено, как в моем примере. – Philippe
Просто добавил декларативный пример к моему ответу ... – Philippe