2011-01-14 4 views
0

Я использую следующий код для выделения текста в Iframe, но я не могу заставить его работатьJQuery не обнаружения Iframe

function getSelectedText() { 
     if (window.getSelection) {; 
      return window.getSelection().toString(); 
     } else if (document.getSelection) {; 
      return document.getSelection(); 
     } else if (document.selection) {; 

      return document.selection.createRange().text; 
     } 
    } 
    $(document).ready(function() { 


     $("#iframe1").live("mouseup", function() { 
      selection = getSelectedText(); 
      if (selection.length >= 3) { 

       $(this).html($(this).html().replace(selection, "<span class='highlight'>" + selection + "</span>")); 

      } 
     }); 
    }); 
    }); 

ответ

1

Если iframe1 это идентификатор , вам необходимо поместить его в кавычках для вашего селектора.

Таким образом, вместо:

$(#iframe1).live("mouseup", function() { 
    //... 

вам нужно:

$('#iframe1').live("mouseup", function() { 
    //... 
+0

Opps ...! Забыл обновить его здесь, но на самом деле я пробовал это, но его не работало – Yahoo

0
$(function() { 
    var myiframe = $($.browser.msie ? frames["iframe1"] : "#iframe1"); 
    // doesn't work in Opera < 9 
    myiframe.load(function() { 
     selection = getSelectedText(); 

     //below code works but i dont know about $(this) will work or not but you can try your code 
     //var w = this.contentWindow; 
     //if(!w) w = myiframe[0]; // IE 
     //alert("Number of anchors: " + w.$("a").size()); 
     //alert("Document title: " + w.document.title); 

     if (selection.length >= 3) { 
      $(this).html($(this).html().replace(selection, "<span class='highlight'>" + selection + "</span>")); 
     } 
    }) 
}) 
+0

Это не работало, или я думаю, что не знал, как его реализовать. Я просто скопировал w-код вашего кода и вставил его в $ (# iframe1) .live («mouseup», function() {это правильный путь? – Yahoo

Смежные вопросы