2012-03-18 56 views
2

當我編輯contenteditble並單擊關閉時,什麼也沒有發生。它發佈的功能尚不存在,所以它應該發出'失敗'警報。我使用了相當類似的代碼,沒有任何問題。我已經嘗試了'模糊'和'改變'。更改和模糊不工作jquery中的部分標記

任何幫助,這是非常感謝。

HTML摘錄:

<h4><section id="title+job+150" contenteditable="true">Independent Contractor</section></h4> 

jQuery的摘錄:

$("section").blur(function() { 

        $.ajax({ 
          type : 'POST', 
          url : '<?php echo site_url('resume/edit_resume_ajax'); ?>', 
          data: { 
           resume_id : '<?php echo $this->session->userdata('resume_id'); ?>',        
           section_value: $("section").val() 
          }, 
          success : function(msg){ 
          }, 
          error: function(){ 
          alert('failure'); 
          } 
         }); 
+1

爲我工作:http://jsfiddle.net/dKTVU/我懷疑還有別的事情,也許您的網址確實存在?您的模糊功能是否已正確關閉,它是否處於DOM準備好的事件中?您的部分元素是否存在於最初的DOM負載上? – 2012-03-18 17:51:35

+0

Thx。這是一個好點,它在加載後動態加載到iframe中。由於我選擇了一個標籤,我認爲無論如何它都會被檢測到。 – jsuissa 2012-03-18 18:29:43

回答

1

UPDATE:我以前的解決方案並沒有考慮到如何訪問一個IFRAME的內容。我忘記了這些文檔是針對另一個文檔的,而且必須與同一文檔中的典型元素進行非常不同的處理。用最簡潔的方式做到這一點在jQuery是:

$("#resume_holder").contents().find("section").blur(function() { 
    // blur handler here 
}); 
+0

Thx。這看起來不錯,但它沒有解決......但是這工作:'$(document.getElementById('resume_holder')。contentWindow.document).blur(function(){'....不知道爲什麼? – jsuissa 2012-03-18 21:28:24

+0

Doh!我完全忘記了iframe的工作方式,他們針對的是一個不同的文檔,當然我的解決方案已經關閉了,你的解決方案很有意義,但我已經更新瞭解決方案,希望能給你一個更加簡潔的解決方案, 「元素,jQuery中的」contentWindow「或」contents()「引入iframe內容進行操作 – 2012-03-18 22:09:47

+0

感謝您的幫助,它適用於keydown,而不是模糊 - 但這是一個與contenteditable相關的單獨問題。 – jsuissa 2012-03-19 02:04:38