我用jq给div动态添加一个input输入框,如何让input输入框直接获取焦点

我用jq给div动态添加一个input输入框,如何让input输入框直接获取焦点,第1张

更简洁的写法是

$('box')click(function(){

$('<input type="text"/>')appendTo('box')focus();

});

html()是js的方法,如果习惯了使用jq,就放弃这个方法吧

不知道是不是你想要的,可以看一下,运行过的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">

正常理论上来讲,应该在那里加一个标签的,然后把你的焦点定位到标签中。

二一种方法就是把1234232这段也加上标签,与label一起做成浮动,然后将div设定内填充到“点击这个位置”这里。

1给用作富文本编辑的div添加contenteditable属性。

<div id="editor" contenteditable="true"></div>

2给表情添加click事件(我是把img表情放在li下的),div获取焦点,_insertimg()锁定编辑器中光标的位置,参数是img,也可以是文本。

$("#Modal emoji-list li")click(function(event) {

var emoji = $(this)find("img")attr('src');

$("#editor")focus();

var source = '<img src="'+emoji+'">';

_insertimg(source);

});

function _insertimg(str){

var selection= windowgetSelection windowgetSelection() : documentselection;

var range= selectioncreateRange selectioncreateRange() : selectiongetRangeAt(0);

if (!windowgetSelection){

documentgetElementById('editor')focus();

var selection= windowgetSelection windowgetSelection() : documentselection;

var range= selectioncreateRange selectioncreateRange() : selectiongetRangeAt(0);

rangepasteHTML(str);

rangecollapse(false);

rangeselect();

}

else{

documentgetElementById('editor')focus();

rangecollapse(false);

var hasR = rangecreateContextualFragment(str);

var hasR_lastChild = hasRlastChild;

while (hasR_lastChild && hasR_lastChildnodeNametoLowerCase() == "br" && hasR_lastChildpreviousSibling && hasR_lastChildpreviousSiblingnodeNametoLowerCase() == "br") {

var e = hasR_lastChild;

hasR_lastChild = hasR_lastChildpreviousSibling;

hasRremoveChild(e)

}

rangeinsertNode(hasR);

if (hasR_lastChild) {

rangesetEndAfter(hasR_lastChild);

rangesetStartAfter(hasR_lastChild)

}

selectionremoveAllRanges();

selectionaddRange(range)

}

}

首先我要说你的事件注册的不对,应该这样写:

$("#two")focus();

$("div")keydown(function(e){

if(ekeyCode == 13){

alert($(this)html());

}

});

其次,div默认是不能focus的,所以你的焦点就没进去。

如果你实在是要实现div的focus,并且按回车显示内容的话,我有一个办法能达到你的效果。

把三个div换成这样:

<div id="one" contenteditable="true">oooo</div>

<div id="two" contenteditable="true">tttt</div>

<div id="three" contenteditable="true">hhhh</div>

不管IE还是火狐都能达到你的效果。

以上就是关于我用jq给div动态添加一个input输入框,如何让input输入框直接获取焦点全部的内容,包括:我用jq给div动态添加一个input输入框,如何让input输入框直接获取焦点、js如何获取焦点的位置,然后在旁边展示一个DIV、<div contenteditable=true>的焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9493686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存