2011-01-06 60 views
0

當文本框獲得焦點以獲取字段與數據庫關聯的模型對象的描述時,我想調用操作方法。在MVC 2應用程序中反覆調用jQuery函數

我有這樣的jQuery的功能:

function getDescription() { 
     $('.hourInput').focus(function() { 
      var name = $(this).attr('name'); 
      var url = '<%=Url.Action("GetDescription", "Timesheet") %>' 
      $.get(url, { name: name }, function (data) { 
       $('#description').val(data); 
      }); 
     }); 
    } 

而這個簡單的測試動作方法現在:

public ActionResult GetDescription(string name) 
    { 
     return Content("Testing"); 
    } 

它工作正常,只要獲得測試文本,但問題是,如果我在動作方法中設置一個斷點,我發現它一遍又一遍地被調用,而不僅僅是當我改變文本框中的焦點時...

任何人都有任何想法爲什麼?

+4

這可能聽起來很愚蠢,但是它可能是您切換到Visual Studio的位置,而您可能會導致焦點事件再次觸發回到IE? – 2011-01-06 23:58:52

+0

嘗試使用不同的瀏覽器,「focus」的jquery頁面聲明「依賴於事件委託與焦點事件的腳本在跨瀏覽器時不會一致地工作。」另外,嘗試使用`$('#hourInput')`其中hourInput是輸入標籤的ID。什麼是瀏覽器正在使用什麼版本的jQuery? – 2011-01-07 00:49:28

回答

1

這可能聽起來很愚蠢,但是它可能是您切換到Visual Studio的位置,並且您可能會導致焦點事件再次觸發回IE。

要考慮的另一件事是,如果字段描述沒有改變,你應該真的緩存響應。事實上,你是否真的需要這個動作,當你第一次渲染頁面時,你不能寫出字段描述嗎?

相關問題