0

私のhtmlコードでのsetTimeoutに関する私の質問は、jqueryと私のコードでajaxを使用しています。そして、私はprimefaces jsfを使用しています。ajax keyup イベントで jquery settimeout を使用する理由

これは私の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 に答える