Я построил плагин jQuery для этого.
(function ($) {
$.fn.wysiwygEvt = function () {
return this.each(function () {
var $this = $(this);
var htmlold = $this.html();
$this.bind('blur keyup paste copy cut mouseup', function () {
var htmlnew = $this.html();
if (htmlold !== htmlnew) {
$this.trigger('change')
}
})
})
}
})(jQuery);
Вы можете просто вызвать $('.wysiwyg').wysiwygEvt();
Вы также можете удалить / добавить события, если вы хотите
Используйте резьбу . Многопроцессорная обработка - это все равно, что запускать совсем другой процесс, и обмен данными будет нелегким, если вы не будете записывать в файлы. При работе с потоками вы находитесь в одном процессе и можете обращаться к переменным между потоками.
Вот небольшой пример того, как реализовать многопоточность.
from kivy.app import App
from kivy.lang import Builder
from kivy.properties import StringProperty
import threading
sock = socket.socket()
sock.connect((host, port))
KV = """
BoxLayout:
Label:
text: app.label_text
"""
class MyApp(App):
label_text = StringProperty("")
def build(self):
threading.Thread(target=self.update_label).start()
return Builder.load_string(KV)
def update_label(self):
while True:
self.label_text = sock.recv(1025)
MyApp().run()