Javascript 当文本框中有“onkeyup”时,onkeyup事件不起作用;数据角色=tagsinput";明确规定

Javascript 当文本框中有“onkeyup”时,onkeyup事件不起作用;数据角色=tagsinput";明确规定,javascript,html,twitter-bootstrap,Javascript,Html,Twitter Bootstrap,下面是我一直在研究的代码 var请求; 函数sendInfo(){ var v=document.main.io.value; var url=“myjsp.jsp?val=“+v; if(window.XMLHttpRequest){ 请求=新的XMLHttpRequest(); } else if(window.ActiveXObject){ 请求=新的ActiveXObject(“Microsoft.XMLHTTP”); } 试一试{ onreadystatechange=getIn

下面是我一直在研究的代码


var请求;
函数sendInfo(){
var v=document.main.io.value;
var url=“myjsp.jsp?val=“+v;
if(window.XMLHttpRequest){
请求=新的XMLHttpRequest();
}
else if(window.ActiveXObject){
请求=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
试一试{
onreadystatechange=getInfo;
打开(“获取”,url,true);
request.send();
}捕获(e){
警报(“无法连接到服务器”);
}
}
函数getInfo(){
if(request.readyState==4){
var m=request.responseText;
document.getElementById('sam').innerHTML=m;
}
}

我没有包括“myjsp.jsp”文件,因为我确信它没有任何问题

如果我按如下方式创建文本框

<input type="text" name="io" onkeyup="sendInfo()"/>

然后调用函数“sendInfo()”,但如果将“data role='tagsinput'”添加为


然后不调用函数“sendInfo()”

我必须编写
data role=“tagsinput”
来生成引导标记,但我还希望执行函数“sendInfo()”。 对这种情况有什么建议吗??
提前感谢。

您可以使用javascript添加事件侦听器:

window.attachEvent = function(){
    document.querySelector("input[data-role='tagsinput']").onkeyup(function(){
        sendInfo();
    });
};
window.addEventListener("load", attachEvent);
要确保函数的可访问性,请在窗口上下文中定义它:

window.sendInfo=function sendInfo(){/.../}
您还可以尝试body onload属性:

<body onload="attachEvent();">...</body>
。。。
我从文本框中删除了“onkeyup=sendInfo()”并添加了您的代码,但仍然没有成功。
window.sendInfo=function sendInfo(){/.../}
<body onload="attachEvent();">...</body>