Javascript 输入keydown不';我不能在IE工作!有棱角的
我有一个输入字段,用户在其中插入视频url,当按下“回车”键时,视频播放器将显示该视频。它在Chrome、Firefox和Edge中运行良好,但在IE11中不起作用。只有当我打开IE开发者工具,然后返回页面按enter键时,它才会开始工作 这是我的密码 HTML }))Javascript 输入keydown不';我不能在IE工作!有棱角的,javascript,angularjs,internet-explorer,angularjs-directive,Javascript,Angularjs,Internet Explorer,Angularjs Directive,我有一个输入字段,用户在其中插入视频url,当按下“回车”键时,视频播放器将显示该视频。它在Chrome、Firefox和Edge中运行良好,但在IE11中不起作用。只有当我打开IE开发者工具,然后返回页面按enter键时,它才会开始工作 这是我的密码 HTML })) 谁能告诉我IE或我的代码有什么问题吗?角支撑ng提交表格开箱即用。 您是否尝试过在表单元素上提交 <form ng-submit="myEnterFunction()"> <label for="vid
谁能告诉我IE或我的代码有什么问题吗?角支撑
ng提交
表格开箱即用。
您是否尝试过在表单元素上提交
<form ng-submit="myEnterFunction()">
<label for="videoUrlField">Paste your video URL here: </label>
<input autocomplete="off" type="url" id="videoUrlField" enter-listener>
</form>
将您的视频URL粘贴到此处:
其中myInterFunction()
可以是一个控制器函数来处理/验证/。。。一进来。在我看来,这是一条更干净、更安格的道路
基本示例您的代码中是否有一些
console.log()
?
app.directive('enterListener', function () {
return {
restrict: 'A',
link: function (scope, element, attr) {
element.bind("keydown", function (event) {
var validURL = function (str) {
var urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
return urlregex.test(str);
};
if (event.which === 13) {
var videoUrl = ''+element.val()
//if url is valid then let's load it
if(validURL(videoUrl)) {
playApropriateType(videoUrl);
}
else{alert("Wrong URL")}
}
})
}
}
<form ng-submit="myEnterFunction()">
<label for="videoUrlField">Paste your video URL here: </label>
<input autocomplete="off" type="url" id="videoUrlField" enter-listener>
</form>