{
if (target.mim_ignore_focus_in)
{
- // Ignore this event which happened in setSelectionRange ().
+ Xex.Log ('ignore focus_in in ' + target.tagName);
+ // Ignore this event which is caused by setSelectionRange ().
target.mim_ignore_focus_in = false;
event.preventDefault ();
}
else
{
+ Xex.Log ('focus_in in ' + target.tagName);
try {
ic.Filter (MIM.Key.FocusIn);
MIM.update (target, ic);
// Ignore further focus-in caused by setSelectionRange ().
- target.mim_ignore_focus_in = true;
+ // target.mim_ignore_focus_in = true;
}
catch (e) { Xex.Log ('Error:' + e); throw (e); }
}
{
if (target.mim_ignore_focus_out)
{
- // Ignore this event which caused by setSelectionRange ().
+ Xex.Log ('ignore focus_out in ' + target.tagName);
+ // Ignore this event which is caused by setSelectionRange ().
target.mim_ignore_focus_out = false;
event.preventDefault ();
}
else
{
+ Xex.Log ('focus_out in ' + target.tagName);
try {
if (! MIM.get_range (target, ic))
ic.reset ();
ic.Filter (MIM.Key.FocusOut);
- MIM.update (target, ic);
// Ignore further focus-out caused by setSelectionRange ().
+ target.mim_ignore_focus_in = true;
target.mim_ignore_focus_out = true;
+ MIM.update (target, ic);
}
catch (e) { Xex.Log ('Error:' + e); throw (e); }
}