* UPDATE:我是jQuery
的新手,并且正在使用XPath
,但我正在努力寻求一种合适的解决方案,以blur
动态创建{ {1}}。我有一个HTML element
.onblur
挂接(无法按预期工作),并尝试使用event
,但是我的实现可能不正确。在创建有效的解决方案时,我将不胜感激,当用户单击活动$(document.activeElement)
以外的任何位置时,会使element
(jqInput
)变得模糊。我在下面添加了element
和HTML
。
我有一些想法:
(1)使用jQuery/JavaScript
选择动态XPath
(HTML element
),然后使用jqInput
方法jQuery's .onClick
将此{{1} },则当用户单击blur
所选element
区域之外的任何地方时。
(2)使用XPath
确定element
应当在哪里触发:
$(document.activeElement)
我愿意接受所有可行的解决方案。希望以后能回答其他人的问题。
我的挑战:多个.onblur
处于活动状态,而var thisTitle = input0;
var activeElement = $(document.activeElement);
if (thisTitle != activeElement) {
jqInput.hide();
_layout.viewHeaderTextInput.inputOnBlurHandler(canvasObj, jqHeaderText, jqInput);
}
没有触发。参见下图:
注意:elements
字段包含.onblur
,以及 左侧的<input />
(蓝色大纲)。如果用户单击focus
之外的任何位置,则必须将<div>
应用于该<input />
。
我的代码:blur
和element
这是一个代码段,其中创建了变量jqInput和input0:
jQuery
这是我的JavaScript
var jqInput = null;
if (jqHeaderText.next().hasClass("inline-editable"))
{
//Use existing input if it already exists
jqInput = jqHeaderText.next();
}
else
{
//Creaet a new editable header text input
jqInput = $("<input class=\"inline-editable\" type=\"text\"/>").insertAfter(jqHeaderText);
}
var input0 = jqInput.get(0);
//Assign key down event for the input when user preses enter to complete entering of the text
input0.onkeydown = function (e)
{
if (e.keyCode === 13)
{
jqInput.trigger("blur");
e.preventDefault();
e.stopPropagation();
}
};
和我的助手.onblur
到event
的{{1}}:
method
我尝试使用active元素,但是我认为实现不正确:
blur
我的HTML代码:
element
我先谢谢大家。