2013-07-15 60 views
1

我正在使用handontable jQuery插件。我試圖攔截用戶停止編輯單元格時。雙擊某個單元格時,該單元格的位置上將顯示類別爲handsontableInput的文本區域。爲什麼焦點輸出事件不會在具有焦點輸出方法的jQuery中觸發?

使用jQuery我試圖得到回調,每當用戶點擊其他地方,從而失去了textarea的焦點。

這裏是一個簡單的事件的內容代碼:

$(".handsontableInput").focusout(function() { 
    alert("LLL"); 
}); 

這是我fiddle

此外,如果與handontable的頁面是在一個框架,並在框架外點擊?

謝謝

回答

5

你應該使用.on方法:

$("#exampleGrid").on('focusout','.handsontableInput',function() { 
    alert("LLL"); 
}); 

的jsfiddle:http://jsfiddle.net/edi9999/HEH5C/1/

與您的代碼的問題是,在$(".handsontableInput")執行的那一刻,他們是這個類中沒有的元素,所以該事件被附加到任何元素。

+1

謝謝您的解決方案和解釋。我不明白爲什麼它不起作用。現在有道理。謝謝。 – Cornwell

3

代表事件是這樣的:

$("#exampleGrid").on('focusout',".handsontableInput",function() { 
    console.log("LLL"); 
}); 
2

您需要使用事件代表團作爲.handsontableInput正在動態生成

$(document.body).on('focusout',".handsontableInput",function() { 
    console.log("LLL"); 
}); 

演示--->http://jsfiddle.net/HEH5C/2/

1

已經有一個這樣的事件發生。 您可以使用自己的事件:

afterChange (changes: Array, source: String) 

雖然這一事件的主要描述是「一個或多個單元格後回調燃煤化」,即使沒有變化,只是在oldValuenewValue它被稱爲changes數組是相同的。因此,當編輯結束並失去焦點時調用此事件,這正是您想要的。

有關可安排事件的更多詳細信息,請參閱here

相關問題