Javascript 谷歌地图信息窗口内未触发TextBox按键事件
我试图在谷歌地图信息窗口内的文本框中只允许使用有效字符。“keypress”事件未激活。请帮我解决这个问题Javascript 谷歌地图信息窗口内未触发TextBox按键事件,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我试图在谷歌地图信息窗口内的文本框中只允许使用有效字符。“keypress”事件未激活。请帮我解决这个问题 google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) { var polylength=polygon.getPath().getArray().length; var lastarray=polygon.getPath().getAt(poly
google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {
var polylength=polygon.getPath().getArray().length;
var lastarray=polygon.getPath().getAt(polylength-1);
vertex=polygon.getPath().getArray();
var contentString="<form id='myform'>Name:<input name='cname' id='cname' type='text' size='50'></input><br>Address<input name='addr' id='addr' type='text' size='50'></input><br><input type='button' value='submit' onclick='save();'></input></form>";
infowindow = new google.maps.InfoWindow({
content: contentString,
});
infowindow.setPosition(lastarray);
infowindow.open(map);
});
$('input').bind('keypress', function(event){
alert("pressed");
var regex = new RegExp("^[a-zA-Z0-9 ]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
google.maps.event.addListener(drawingManager,'polygoncomplete',函数(polygon){
var polylength=polygon.getPath().getArray().length;
var lastarray=polygon.getPath().getAt(polylength-1);
顶点=多边形。getPath().getArray();
var contentString=“名称:
地址
”;
infowindow=新建google.maps.infowindow({
content:contentString,
});
infowindow.setPosition(lastarray);
打开(地图);
});
$('input').bind('keypress',函数(事件){
警惕(“按下”);
var regex=new RegExp(“^[a-zA-Z0-9]+$”;
var key=String.fromCharCode(!event.charCode?event.which:event.charCode);
如果(!正则表达式测试(键)){
event.preventDefault();
返回false;
}
});
当您将事件侦听器绑定到输入
字段时,输入
字段尚未创建。您需要在信息窗口
上添加事件侦听器,然后绑定
按键侦听器:
infowindow = new google.maps.InfoWindow({
content: contentString,
});
google.maps.event.addListener(infowindow , 'domready', function(){
$('#myform input').bind('keypress', function(event){
alert("pressed");
var regex = new RegExp("^[a-zA-Z0-9 ]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
});