当h:inputText在javascript中聚焦时,如何触发事件

时间:2015-06-15 13:21:33

标签: javascript jquery

我正在使用Java EE和JSF编写Web应用程序。

当h:inputText被聚焦时,我想在javascript中激活一个函数。我尝试了一些东西,但它不起作用。 我做了什么;

HTML;

<h:inputText id="devLati"
    class="ui-inputfield ui-inputtext ui-state-default ui-corner-all devInp"
    onmouseover="$(this).addClass('ui-state-hover')"
    onmouseout="$(this).removeClass('ui-state-hover')"
    onmousedown="$(this).addClass('ui-state-focus')"
    onmouseup="$(this).removeClass('ui-state-focus')"
    value="#{deviceRegionFacade.devLati}" />

JS;

function initialize() {

...

$('#mainForm\\:devLati').focusout(function() {
    var newLat = $('#mainForm\\:devLati').val();
    var oldLat = marker.getPosition().lat();
    if(newLat != oldLat){
        removeMarker();
        var myLatLng = new google.maps.LatLng(newLat, marker.getPosition().lng());
        marker = new google.maps.Marker({
            map: map,
            position: myLatLng,
            icon : 'resources/images/maintenanceAndLifeTimePage/unknown.png'
        });
        marker.setAnimation(google.maps.Animation.BOUNCE);
    }

  });
}
    打开页面时会调用
  • initialize()。

2 个答案:

答案 0 :(得分:2)

使用blur事件:

$('#devLati').on('blur', function() {
    // Event handling code
});
  

模糊事件在失去焦点时会发送到元素。

文档:https://api.jquery.com/blur/

答案 1 :(得分:1)

尝试:

  

&lt; h:inputText id =“devLati”
    class =“ui-inputfield ui-inputtext ui-state-default ui-corner-all devInp”

    的onfocus = “$(本).addClass( 'UI状态对焦')”
    的onblur = “$(本).removeClass( 'UI状态对焦')”
    值= “#{deviceRegionFacade.devLati}”
    /&GT;