2011-05-13 176 views
2

當某行中的某個元素失去焦點時,行上的JQuery blur事件觸發。對於下面的示例,我有一個示例表,每行中有兩個輸入字段;如果我們嘗試執行此代碼,並且用戶將焦點從一個輸入控件留在同一行中的另一個輸入控件中,我將獲得爲該行觸發的模糊事件。思考?JQuery模糊事件

<table id="sample" border="0" cellpadding="0" cellspacing="0"> 
    <tr> 
     <td>1.1</td> 
     <td><input type="text" name="name" value=" " /></td>    
     <td>1.2</td> 
     <td><input type="text" name="name" value=" " /></td> 
    </tr> 
    <tr> 
     <td>2.1</td> 
     <td><input type="text" name="name" value=" " /></td>    
     <td>2.2</td> 
     <td><input type="text" name="name" value=" " /></td> 
    </tr> 
    <tr> 
     <td>3.1</td> 
     <td><input type="text" name="name" value=" " /></td>    
     <td>3.2</td> 
     <td><input type="text" name="name" value=" " /></td> 
    </tr> 
    <tr> 
     <td>4.1</td> 
     <td><input type="text" name="name" value=" " /></td>    
     <td>4.2</td> 
     <td><input type="text" name="name" value=" " /></td> 
    </tr> 
</table> 

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     $('#sample').delegate('tr', 'blur', function (event) { 
      alert('Row Blurred'); 
     }); 
    }); 
</script> 

回答

5

livedelegate方法不支持blur事件,因爲它沒有泡沫。
相反,處理focusout,他們支持

+0

是的,你是正確的,根據文件;但如果您爲IE9嘗試使用模糊和聚焦事件進行此示例,則您將獲得相同的行爲。 – 2011-05-13 14:55:51

+0

我只有在表格中的某一行丟失焦點時纔會嘗試進行focusout事件。 – 2011-05-13 14:58:03

+0

@Mloloob:行沒有焦點。你需要綁定到''元素。 – SLaks 2011-05-13 14:59:33