如何让js(jquery)代码只在光标定位处执行 30

我写的网页中有这样输入框自动补全的效果:但是由于要多次输入手机信息存到后台所以就用js来加代码(append),如下:点击"添加"后,代码会自增(append),但是由于... 我写的网页中有这样输入框自动补全的效果:

但是由于要多次输入手机信息存到后台所以就用js来加代码(append),如下:

点击"添加"后,代码会自增(append),

但是由于自增使得上下两段代码是一样的,id、class也就一样,于是就出现了下面的问题:
我给第二个表的手机型号输入时,自动填充的效果就会出现在第一个表的手机型号输入框中,如下

请问可否使用光标定位,使得js只在光标所在输入框执行?

附录:
输入框html代码

自动填充的js代码

添加输入框的代码

自动填充的php读取数据库的代码
展开
 我来答
飞龙五少爷
2015-09-22 · TA获得超过287个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:58.1万
展开全部
在光标定位dom元素添加focus事件,触发你要执行的代码
首先,js代码执行,有两种情况,一种是,整个页面加载完成,另外一种,是加载完成,然后通过某些元素或者事件触发,代码是死的,是人赋予了他思考,也就是给他加判断,只有你主动的去触发他,或者定时触发它,它才会执行,另外,js 是预编译的,每个{}为一个方法体,所以的方法在加载初就会预先编译的,建议你下载份《javascript王者归来》 推荐下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洋依辰7i
推荐于2017-07-18 · TA获得超过141个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:202万
展开全部

可以在input框上监听一个事件(onkeydown or onkeyup.....), 这样就可以获取到当前获得焦点的输入框, fill值得时候就更新这个输入框里面的值.

onblur='fill(e)'

fill(e) {
    $(e.target).val(****);
    
    ........
 }

同样,在lookup中你也需要传入一个事件参数

onkeyup(e, this.value)

$(‘#suggestions').show()--->$(e.target).parent().next().show().

更多追问追答
追问

那请问我这样写为什么不对呢?

如下:

然后我将js改写了一下(注释处是未改前的,可以对比):

这个input发出的,为什么不能用this来捕获呢?


而且

修改如下:

还是不过,说e未定义

谢谢指点。

追答
$(e.target)  不是$('e.target')
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式