我目前正在编写一个网站,必须与所有浏览器兼容,包括IE回到版本6.
我特别想知道这两个事件的兼容性问题:我正在使用带有<input>标记的type='text'.
搜索发现混合响应和列表不完整.
具体来说,问题是:
任何帮助非常感谢:)
我正在使用此代码来验证输入字段,但我不希望它在字段失去焦点后将字段从字段中拉出半秒.我怎样才能做到这一点?
$(document).ready(function()
{
$("#group_id").blur(function()
{
$("#gmsgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
$.post("group_availability.php",{ group_id:$(this).val() } ,function(data)
{
if(data=='invalid')
{
$("#gmsgbox").fadeTo(200,0.1,function()
{
$(this).html('Please enter a valid Group ID').addClass('messageboxerror').fadeTo(900,1);
});
}
else
{
$("#gmsgbox").fadeTo(200,0.1,function() //start fading the messagebox
{
$(this).html('Group ID available').addClass('messageboxok').fadeTo(900,1);
});
}
});
});
});
Run Code Online (Sandbox Code Playgroud) 嗨再次你精彩的人!
这次我的问题是测试是否发生了带有模糊语句的mouseClick.
我有一个全局解决方案,其中每个输入字段都在BLUR上验证.在这个事件中,我需要测试是否已经点击某个元素(即helpBubble),如果有,我不希望验证发生,但是,如果没有点击该特定元素,验证仍然需要即将发生.
任何帮助都将受到压倒性的赞赏!!
我不明白为什么jQuery模糊处理程序在最简单的情况下不起作用.我实际上创建一个div 100px×100px并在其上设置模糊事件,但它没有触发(JSFiddle):
<div id="test">this is a test</div>
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function() {
$('#test').bind('blur', function() {
alert('blur event!');
});
});
Run Code Online (Sandbox Code Playgroud)
我对模糊的理解是错误的吗?当我点击不是div的任何地方时,我希望模糊事件能够触发......对吗?
根据jQuery的文档:
在最近的浏览器中,事件的域已扩展为包括所有元素类型.元素可能会通过键盘命令(例如Tab键)或通过鼠标单击页面上的其他位置而失去焦点.
我在Mac上的最新Chrome和Firefox上尝试过它.
我似乎无法让window.onblur正常工作.
window.onblur = console.log('blur');
Run Code Online (Sandbox Code Playgroud)
当侦听器应用于窗口时,它只在页面加载时运行,而不是在窗口失去焦点时运行.
我正在工作的网站上有一个搜索框,并希望跟踪人们正在寻找的搜索字词。
由于搜索框会自动猜测并输入用户正在搜索的内容,因此没有点击事件。
在控制台中,当发生模糊时,我想要的textContent是以下内容的.textContent:
myVar = document.querySelectorAll('.twitter-typeahead > span')[2]
Run Code Online (Sandbox Code Playgroud)
但是,仅当有人实际键入内容时,此处返回的值才不是null。因此,附加模糊事件似乎是可行的方法。在另一个论坛上某人的帮助下,我在控制台中看到了以下内容:
myVar.addEventListener('blur', function(){dataLayer.push({'event':'bla'})})
Run Code Online (Sandbox Code Playgroud)
在控制台中键入所有内容之后,我看不到任何值被推送到dataLayer,这使我认为blur事件不起作用(与dataLayer.push函数相对)。
有关搜索框的页面在此处。
我如何将模糊事件附加到使搜索框失去焦点的人?
我有一个用于电子邮件的 MaterialUI 文本字段,当用户离开该字段时,它会验证输入。为此,我使用了 onBlur 上的一个函数。我想使用帮助文本显示错误消息。
电子邮件字段的代码:
<TextField
margin="dense"
id="emailAddress"
name="email"
label="email"
type="email"
onChange={onChange}
onBlur={validateEmail}
value={email}
error={validEmail}
helperText={validEmail ? 'Please enter a valid Email' : ' '}
fullWidth
/>
Run Code Online (Sandbox Code Playgroud)
validEmail 变量在功能组件内部初始化如下:
let validEmail = false;
Run Code Online (Sandbox Code Playgroud)
validateEmail 在同一组件内定义为:
const validateEmail = () => {
if (!email || invalidEmail(email)) {
validEmail = true;
} else {
validEmail = false;
}
};
Run Code Online (Sandbox Code Playgroud)
但它不起作用,并且不显示错误消息。我在这里可能缺少什么?检查 invalidEmail 的条件确实得到执行。
我想onblur在我的 Angular 9 应用程序中设置一个事件处理程序,以便在有人离开页面时处理。我的相关页面被映射到具有以下内容的单个组件......
export class HotComponent implements OnInit {
...
onBlur(): void {
console.log("on blur called !!!");
}
Run Code Online (Sandbox Code Playgroud)
在模板中,我设置了这个...
<div (blur)="onBlur()">
<div>
...
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,当我离开加载此页面的浏览器窗口并返回时,我注意到onblur处理程序尚未被调用。在 Angular 9 中实现onblur页面事件处理程序的正确方法是什么?
假设我有一个输入
<input type="text" id="inPut" autofocus>
Run Code Online (Sandbox Code Playgroud)
和一个按钮
<button id="btn">Some text</button>
Run Code Online (Sandbox Code Playgroud)
我想要那个 onblur,它会失去焦点(通常会这样),但是当我单击此按钮时,焦点不会发生任何变化,即它不会失去焦点
我有一个代码,它会在弹出(子)窗口中返回其他页面(Google).我无法在子窗口中编写任何代码,因此我必须从父级执行所有操作.我试图将onblur事件从父窗口绑定到子窗口,以便在失去焦点后关闭子窗口.但是,子窗口会闪烁一秒钟并自动关闭.
我不能在我工作的环境中使用jQuery.
这是我的示例代码:
<html>
<head>
</head>
<body>
<input type="button" value="Open Google" onclick="OpenWindow()" />
<script type="text/javascript">
function OpenWindow()
{
var url="http://www.google.com";
var newWin=window.open(url, 'Popup','height=500,width=600,left=100,top=100,resizable=yes,scrollbars=no,toolbar=no,status=no');
newWin.focus();
newWin.onblur = newWin.close();
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)