gpt4 book ai didi

jquery - Chrome/Safari模糊功能支持在jquery中检查

转载 作者:行者123 更新时间:2023-12-01 06:07:26 27 4
gpt4 key购买 nike

我正在尝试检测文件上传输入字段何时已更新。在IE和FF中,如果我使用blur(),我可以做到这一点,但对于Chrome,我需要使用change()。由于 Chrome(我相信 safari)不会触发模糊事件,jquery.supports 对象中是否有一个属性来检查此事件,或者我是否必须使用已弃用的 .browser 对象?

这是一个示例页面,它显示了我的意思,正如下面的海报所说,更改的事件适用于所有三种浏览器,并且是我应该使用的,但我认为获得检测支持问题的答案仍然有用模糊事件。

<html>
<head>
<script src="jquery-1.4.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#test-input').change(function () { alert('changed'); });
$('#test-input').blur(function () { alert('blurred'); });
});
</script>
</head>
<body>
<input type="file" id="test-input">
</body>
</html>

最佳答案

尝试使用此功能检测您的事件是否受支持,但我无法相信该功能,但我忘记了从哪里得到它:

var isEventSupported = function(eventName) { //Function to detect supported events
var el = document.createElement('div');
eventName = 'on' + eventName;
var isSupported = (eventName in el);
if (!isSupported) {
el.setAttribute(eventName, 'return;');
isSupported = typeof el[eventName] == 'function';
}
el = null;
return isSupported;
}

之后定义一个包含您的任一/或事件的变量:

var ChangeOrBlur = (isEventSupported('blur')) ? 'blur' : 'change'; //with change as your default

然后将您的函数绑定(bind)到您首选的事件:

$('#test-input').bind(ChangeOrBlur, function(){alert(ChangeOrBlur);});

让我知道这对您有何作用...

关于jquery - Chrome/Safari模糊功能支持在jquery中检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4267251/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com