我打開一個ModalBox有:使用HAML或ModalBox ERB代碼導致後負荷回調不會被調用
=link_to_function "Add", "Modalbox.show('appt', {title: this.title, width: 600, height: 400, afterLoad: function() { alert('Content loaded') } });"
此加載HAML文件。當haml文件包含某些代碼時,回調永遠不會被觸發。 .erb文件也是如此。
例如,當該文件包含回調被觸發:
<% form_for(:appointment) do |f| %>
<%= f.error_messages %>
<% end %>
但是當它不包含:
<% form_for(:appointment) do |f| %>
<%= f.error_messages %>
<%= f.submit 'Update' %>
<% end %>
任何線索?
編輯:
我縮小它和它打破這個代碼modal.js:
var firstEl = this.focusableElements.find(function findFirst(el){
i++;
return el.tabIndex == 1;
}) || this.focusableElements.first();
還沒有真正調查原因,但由於它只是試圖設置焦點在第一個找到的元素上,我只是註釋掉'this._setFocus();'這一行在'_putContent'中。
我仍然好奇,爲什麼在上述情況下突破,以防萬一誰知道。
當然,這可能會和破壞的代碼做同樣的事情,但我更加好奇它爲什麼破壞代碼。我不喜歡編輯第三方代碼b/c,如果我去更新它,並且錯誤仍然沒有解決,那麼我必須發現,記住並重新編譯錯誤。不過謝謝,是的,對於那些需要解決焦點問題的解決方案,您的想法非常有用。 – 99miles 2010-06-29 16:35:40