Javascript enter键上的Keycode触发器工作不正常
我正在使用Javascript enter键上的Keycode触发器工作不正常,javascript,jquery,keycode,Javascript,Jquery,Keycode,我正在使用keycode触发一个按钮单击enter。我有以下几点,当在keycode函数中放置警报时有效,但当在中放置警报时无效。单击(函数…。不确定我缺少什么来获取keycode以触发ajax调用。它当前只是将?imageid=750推到URL中查询字符串的末尾 //force use of only numerical input $('#imageid').keyup(function (event) { this.value = this.value.replace(/[^0-9
keycode
触发一个按钮单击enter。我有以下几点,当在keycode函数中放置警报时有效,但当在中放置警报时无效。单击(函数…
。不确定我缺少什么来获取keycode以触发ajax调用。它当前只是将?imageid=750
推到URL中查询字符串的末尾
//force use of only numerical input
$('#imageid').keyup(function (event) {
this.value = this.value.replace(/[^0-9\.]/g, '');
if (event.keyCode == 13) {
alert($("#imageid").val());
//event.preventDefault();
$('.image-search').trigger('click');
}
});
$('.image-search').click( function () {
var root = "http://localhost:7777/proxy/staging/rest/v1/cms/story/id/";
//CLEAR IMAGE ID VALUE FROM PREVIOUS ENTRIES
$("#imageid").val('');
var encodeID = $("#imageid").val();
var bearerToken = localStorage.getItem('Authorization');
//IF TESTING ON LOCALHOST
if (document.domain == 'localhost') {
url = root + encodeID + "/images";
} else {
//IF IN PRODUCTION
url = "/cropper/admin/cropv2/rest/v1/cms/story/id/" + encodeID + "/images";
//GRAB REFERRER URL FOR ASSET ID
//STRIP OUT ASSET ID, MATCH BUT DON'T INCLUDE 'ASSETS' AND SET SUCCESEEDING VALUE AS ASSET ID
var regexp = /assets\/(\d+)/;
var assetid = regexp.exec(window.document.referrer);
$("#imageid").val(assetid[1]);
};
$.ajax({
url: url,
method: 'GET',
headers: {
"Authorization": bearerToken
},
}).then(function (response) {
var obj = response;
$("#imageid").css("border-color", "#ccc");
$(".search-results").empty();
for (var property in obj.entity.entries) {
if (obj.entity.entries.hasOwnProperty(property)) {
$(".search-results").append($("<li><a href='" + obj.entity.entries[property].uri + "' target='_blank'><div class='thumbnail'><img width='30' height='30' src='" + obj.entity.entries[property].uri + "' target='_blank'/></img><div class='caption'><p>" + obj.entity.entries[property].orientation + "</p></div></a></li>"));
}
}
//$(".search-results").append("<div class='caption'>" + data.id + "</div><div class='thumbnail'><img width='40' height='40' src='" + data.thumbnailUrl + "'/></img>").css("float", "left");
}).fail(function (data) {
$(".search-results").empty();
$(".search-results").append("<p class='alert alert-danger'>Invalid ID</p>");
$("#imageid").css("border-color", "red");
});
});
});
//强制仅使用数字输入
$('#imageid').keyup(函数(事件){
this.value=this.value.replace(/[^0-9\.]/g');
如果(event.keyCode==13){
警报($(“#imageid”).val();
//event.preventDefault();
$('.image search')。触发器('click');
}
});
$('.image search')。单击(函数(){
变量根=”http://localhost:7777/proxy/staging/rest/v1/cms/story/id/";
//从以前的条目中清除图像ID值
$(“#imageid”).val(“”);
var encodeID=$(“#imageid”).val();
var bearerToken=localStorage.getItem('Authorization');
//如果在本地主机上进行测试
if(document.domain==“localhost”){
url=root+encodeID+“/images”;
}否则{
//如果在生产中
url=“/croper/admin/cropv2/rest/v1/cms/story/id/”+encodeID+“/images”;
//获取资产ID的引用者URL
//去掉资产ID,匹配但不包括“资产”,并将后续值设置为资产ID
var regexp=/assets\/(\d+)/;
var assetid=regexp.exec(window.document.referer);
$(“#imageid”).val(assetid[1]);
};
$.ajax({
url:url,
方法:“GET”,
标题:{
“授权”:bearerToken
},
}).然后(功能(响应){
var obj=响应;
$(“#imageid”).css(“边框颜色”,“#ccc”);
$(“.search results”).empty();
for(obj.entity.entries中的var属性){
if(对象实体条目hasOwnProperty(属性)){
$(“.search results”)。追加($(“”);
}
}
//$(“.search results”).append(“+data.id+”).css(“float”,“left”);
}).失败(功能(数据){
$(“.search results”).empty();
$(“.search results”).append(“无效ID
”);
$(“#imageid”).css(“边框颜色”、“红色”);
});
});
});
但在整个项目中实施时,它不再正常工作。我不确定我错过了什么
使用此小提琴:,并移除第1-173行,触发器工作正常。包含这些行后,它似乎被阻止了。您的代码工作正常,存在其他Javascript错误,导致脚本停止 也可以尝试
$('.image search')。单击()代码>而不是$('.image search')。触发器('click')代码>
未捕获引用错误:未定义ImglyKit
未捕获的TypeError:无法读取null(fileInput)的属性“addEventListener”
检查控制台,修复错误。那么它能解决您的问题吗?如果我在控制台中有任何错误,它可能…但我的代码中没有问题。是否包含ImglyKit与我遇到的问题无关。我只需要能够触发表单点击回车键。这可以单独完成,但是被其他东西阻止了。试试这个:(没有ImglyKit和一个fileinput,它正在工作)看起来罪魁祸首是用
封装字段。问题是我有一个文件输入字段,所以我需要将其设置到位。