2012-08-28 36 views
0

我有一個.blur()事件的四個文本輸入,它有datepicker和timepicker附加到它們。當我「選項卡」到下一個控件時,它工作正常,但是當我在外面點擊某處時,事件不會觸發。我做錯了什麼,或者是否有與.blur()事件有關的問題?.blur()在點擊外部日期選擇器時不觸發

的事件JavasSript代碼:

$(".calcTimespan").blur(function() { 
     $.ajax({ 
      type: "GET", 
      url: '@Url.Action("CalculateTimespan")', 
      data: { 
       "franDatum": $("#Dyk_FranDatum").val(), 
       "franTid": $("#Dyk_FranTid").val(), 
       "tillDatum": $("#Dyk_TillDatum").val(), 
       "tillTid": $("#Dyk_TillTid").val() 
      }, 
      dataType: 'html', 
      cache: false, 
      success: function (data) { 
       if (data != "FAIL") 
        $("#Dyk_DyktidMinuter").val(data); 
      }, 
      error: function (jqXHR, textStatus, errorThrown) { 
       alert("Ett fel inträffade vid hämtning av dykning!"); 
      } 
     }); 
    }); 

的HTML:

<div> 
     <label for="Fr_n_datum">Fr&#229;n datum</label> 
     <label style="margin-left: 40px;">Tid</label> 
     <br /> 
     <input class="halv datumpicker calcTimespan" id="Dyk_FranDatum" name="Dyk.FranDatum" type="text" value="" /> 
     <input class="halv tidpicker calcTimespan" id="Dyk_FranTid" name="Dyk.FranTid" type="text" value="" /> 
    </div> 
    <br /> 

    <div> 
     <label for="Till_datum">Till datum</label> 
     <label style="margin-left: 50px;">Tid</label> 
     <br /> 
     <input class="halv datumpicker calcTimespan" id="Dyk_TillDatum" name="Dyk.TillDatum" type="text" value="" /> 
     <input class="halv tidpicker calcTimespan" id="Dyk_TillTid" name="Dyk.TillTid" type="text" value="" /> 
    </div> 
    <br /> 

    <div> 
     <label for="Dyktim__min_">Dyktim (min)</label> 
     <label style="margin-left: 33px;">Pris per minut</label> 
     <br /> 
     <input class="halv" id="Dyk_DyktidMinuter" name="Dyk_DyktidMinuter" type="text" value="" /> 
     <input class="halv" id="Dyk_Pris" name="Dyk.Pris" type="text" value="" /> 
    </div> 

我只針對IE9。

編輯 看來,事件工作正常。問題是,當我單擊日期選擇器來選擇日期時,即使在輸入文本中組件尚未設置該值,也會觸發該事件!

現在,我必須找到一種方法來獲取「鼠標向下」日期或將事件延遲至實際在輸入文本中設置的時間。

+3

這不是HTML ..你應該在你的後端代碼中插入*生成的輸出* –

+0

當你點擊外部時,元素是否會失去焦點? blur()事件僅在元素失去焦點時被調用。 –

+0

你說得對,現在已經更新了。 – kaze

回答

0

似乎與IE9的問題和模糊事件不一致的發射,嘗試綁定與focusout而不是元素。

+0

謝謝你的回答,它雖然沒有幫助,但完全相同的行爲。 – kaze

相關問題