我正在使用这个插件来获取 textarea 的插入符号位置。我有一个<div>
,单击它会显示<ul>
带有笑脸的列表,以将其中一个放入 textarea。单击会在 textarea 上<div>
触发blur
事件。我将插入符号位置保存在模糊上:
oRoot.blur(function() {
caret_pos = $(this).caret();
});
在用户点击笑脸后,我把它放在插入符号失去焦点之前所在的文本区域中:
oList
.delegate('.chat-smile', 'click', function() {
var oRoot = $(this).parent().data('oRoot');
if (is_default_value(oRoot)) oRoot.val('');
oRoot.val(oRoot.caret(caret_pos).caret().replace($(this).attr('smilie-code')));
toggle_list($(this).parent());
});
问题是在 IE 中,如果 textarea 没有焦点,插件似乎不起作用,而在 IE 中,blur
事件处理程序在焦点丢失后被触发。
任何解决方法的想法?我正在考虑将插入符号位置保存在click
, keyup
,focus
为 IE ..