0

我的 html 代码中关于 setTimeout 的问题我再次使用带有 jquery 的 ajax 和我的代码。我使用 primefaces jsf。为什么我将 jquery settimeout 与 ajax keyup 事件一起使用

这是我的 jquery 代码,它现在可以工作,但是当我添加 settimeout 时它不起作用。

$ = jQuery;

$(document).ready(function()  
{
    setTimeout(function()
    {
        refreshHook();
    },1000)

});


function refreshHook()
{
    $(".numberonly").keydown(function(event) 
    {  
        // Allow: backspace, delete, tab and escape
        if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode==190 || event.keyCode == 9 || event.keyCode == 27 || 

        // Allow: Ctrl+A
        (event.keyCode == 65 && event.ctrlKey === true) || 

        // Allow: home, end, left, right
        (event.keyCode >= 35 && event.keyCode <= 39)) {

        // let it happen, don't do anything
        return;
    }
    else 
    {
        // Ensure that it is a number and stop the keypress
        if (  event.shiftKey|| (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 ) ) 
        {
            event.preventDefault(); 
        } 
    }

   });
  }

这是我的html代码。

<p:fieldset legend="Fieldset" style="background-color: lightsteelblue" >
    <h:panelGrid columns="5">
    <strong>LandAmoutn(Ha):</strong>
    <p:inputText id="spinner1" type="text" styleClass="numberonly"  value="#{carbonController.model.meyvebahcesidikimi}"  style="background-color: lightgrey" >
    <p:ajax event="keyup" process="@this" update="birdikim"  listener="#{carbonController.doMeyveBahcesiDikimHesabı}"/>

    </p:inputText>
    <p:row><strong>=</strong></p:row>
    <p:inputText id="birdikim" value="#{carbonController.model.meyvebahcesidikimsonuc}" readonly="true" style="background-color:lightgrey">
    <f:convertNumber integerOnly="true"/>
    </p:inputText>
    <p:row><strong>Mg C/Ha</strong></p:row>
    </h:panelGrid>
</p:fieldset>

谁能告诉我我的错误在哪里。我花了很多时间。我想发送我的图像,但 stackoverflow 不允许发送:)

4

1 回答 1

2

尝试这个

$(document).ready(function() {
    setTimeout(refreshHook, 1000);
});

这似乎正在工作http://jsfiddle.net/cQjmx/5/

编辑-不确定这是否是您所追求的,但由于没有其他人发布任何内容,请尝试一下http://jsfiddle.net/cQjmx/37/

于 2012-11-02T13:04:48.303 回答