2013-06-10 3 views

ответ

0

Попробуйте это:

В вашем 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> 
+0

Привет спасибо за ответ. Фактически я использую декларативный способ кодирования в додзё. Я попытался сделать это так, как это правильно, или есть ли другой способ написать декларативный код. Добавил событие onKeyPress в html, а также я заметил, что «stopEvent» устарел. Не могли бы вы помочь мне в этом? функция ValidationDotCheck (evt) { var charOrCode = evt.charCode || evt.keyCode; if ("." === String.fromCharCode (charOrCode)) { dojo.stopEvent (evt); } \t \t} – user1716006

+0

Просто замените dojo.stopEvent на event.stop, и у вас больше не будет недостатков. Не забудьте потребовать dojo/_base/event, поскольку это то, что «событие» сглажено, как в моем примере. – Philippe

+0

Просто добавил декларативный пример к моему ответу ... – Philippe