2010-02-10 42 views
5

Tôi hiện đang developping một công cụ chuyển đổi văn bản thành biểu tượng (phi lợi nhuận), và tôi đang gặp vấn đề này:jHtmlArea xử lý sự kiện của phím nhấn

Đối với WYSIWYG-editting của văn bản, tôi d muốn sử dụng một trình soạn thảo wysiwyg nhỏ đẹp (như jHtmlArea). trình soạn thảo này sẽ hiển thị divs nổi, vì vậy tôi sẽ phải đánh chặn rất nhiều keypresses (số lượng/mũi tên/etc)

Hiện nay, khu vực html của tôi được nạp như thế này:

<script type="text/javascript">  
$(function() { 
      $("#txtCustomHtmlArea").htmlarea({ 
       loaded: function() { 
       $(this.editor).keydown(function(event) { 
        if(event.keyCode == 32) { 
         this.pasteHTML('<b>test</b>'); 
         return false; 
        } 

        return true; 
       }); 
      } 

Vấn đề với điều này code là this.editor không có phương thức pasteHTML. Làm thế nào tôi có thể sử dụng phương pháp này từ này (= htmlarea) .event?

Đây có lẽ là câu hỏi khá mới mẻ, nhưng tôi thực sự không biết gì về nơi cần tìm.

Cảm ơn bạn

Trả lời

0

Tôi nghĩ rằng bạn đang có lẽ nhận mình nhầm lẫn với việc sử dụng 'này' (Tôi chắc chắn đang phải vật lộn để theo dõi những gì nó đề cập đến!).

Là một thử nghiệm, bạn có thể thay thế các

this.pasteHTML(...) 

với

$("#txtCustomHtmlArea").pasteHTML(...) 

hoặc có thể

$("#txtCustomHtmlArea").editor.pasteHTML(...) 

và xem giúp?

1

Đây là cách tôi làm điều đó:

$("#my-text-area").htmlarea({ 
     loaded: function() { 
      $.myControl = { jhtmlarea: this }; 
     } 
    }); 

Sau đó, tôi có thể tham khảo:

$($.myControl.jhtmlarea.editor.body).keypress(function (e) { }); 

cũng này mang lại cho tôi một xử lý để đối tượng khu vực html của tôi từ bên ngoài của iFrame.

+0

người bạn đời tuyệt vời. dọn dẹp. –

Các vấn đề liên quan