我想要做的是显示带有文本颜色的输入字段black.
然后,当人在输入字段(onfocus)内部单击时,我想将文本颜色更改为red.
然后,当人在输入之外点击fied(不再焦点)时,我想将文本颜色改回black.
我知道如何使用以下方法处理JavaScript onfocus事件:
<input ctype="text" onfocus="this.style.color='red';" />
Run Code Online (Sandbox Code Playgroud)
但是,如何处理"关闭焦点"以将文本颜色更改为黑色?
提前致谢
我有一个逗号分隔值的字符串.如何计算以逗号分隔的字符串中的元素数量.例如,跟随字符串有4个元素
string ="1,2,3,4";
这是一个奇怪的,我很震惊,我从来没有注意到它.它的工作原理如下,如果你的鼠标静止并且div以编程方式在鼠标下方移动,则不会在chrome/safari中触发mouseover事件 - 同样适用于mouseout.当然,如果在鼠标移动到鼠标下方后稍微移动鼠标,它将按预期工作.
我在jsFiddle上创建了一个demo.只需让div在你的鼠标下振荡,在firefox中运行良好,而不是在chrome或safari中运行 - 还没有在ie中测试.
我倾向于这个解决方案...基本上使用以下方法滚动我自己的mouseenter和mouseleave事件:
if (mouseX > divLeft && mouseX < divRight &&
mouseY > divTop && mouseY < divBottom){
// mouse is inside div
}
Run Code Online (Sandbox Code Playgroud)
我说mouseenter并离开,因为这种方法没有冒泡
我想知道是否有其他人对此有过想法...我觉得有一个简单的方法可以解决它,但到目前为止谷歌还没有提出任何建议.
如果用户尝试关闭窗口而不保存表单,我将显示一条警告消息.
window.onbeforeunload = askConfirm;
function askConfirm()
{
// needToConfirm is set to true if any changes are there in the form
if (needToConfirm)
{
return "Your unsaved data will be lost.";
}
}
function call_this_if_user_clicks_on_cancel()
{
// Bla bla bla
// After this user should remain on the same page.
}
Run Code Online (Sandbox Code Playgroud)
现在我想在用户点击时调用另一个函数Okay.其余功能应该保持不变.那么如何收集onbeforeunload返回值并调用另一个函数呢?
解:
needToConfirm = false;
window.onbeforeunload = askConfirm;
window.onunload = unloadPage;
isDelete = true;
function unloadPage()
{
if(isDelete)
{
call_this_if_user_clicks_on_cancel()
}
}
function askConfirm()
{ …Run Code Online (Sandbox Code Playgroud) 我希望能够告诉我打开的窗口何时被用户关闭.这是我试图监控这个的代码:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
window.document.onready = function () {
document.getElementById('openWindow').onclick = function () {
var windowref = window.open('tests2.html');
windowref.onunload = function () {
window.alert('hola!');
};
};
};
</script>
</head>
<body>
<button id='openWindow'>Open Window</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我希望这会提醒"hola!" 在打开的窗口window.open关闭后的原始窗口中.相反,它警告"hola!" 在打开新窗口后立即在原始窗口中window.open.它为什么这样工作?有办法做我想做的事吗?
想知道是否有一种优雅的方式来监听javascript和/或jQuery中的函数.
而不是倾听$('#mything').click(function(){ //blah })我想要在特定功能被触发时监听.我不想编辑函数,因为它在我不想直接破解的库中.
我找到了这个:连接函数的http://plugins.jquery.com/project/jqConnect.
但想知道更好的技术.
如何使用Jquery检查在Javascript上调用我的函数的事件?
像我一样:
var mycall= function() {
alert('Which Witch is Which?');
}
$(window).load(mycall);
$(window).resize(mycall);
Run Code Online (Sandbox Code Playgroud)
我明白我可以将一个参数传递给函数,我仍然对这种方法感兴趣而不传递任何参数.
说你有这个div:
<div id="foo">bar</div>
Run Code Online (Sandbox Code Playgroud)
你这样做:
$("#foo").click(someFunction);
Run Code Online (Sandbox Code Playgroud)
你的javascript代码里面的某个地方.
一旦加载了页面,有没有办法通过firebug或者检查chrome中的元素或其他任何东西,找出#foo的click事件被绑定someFunction?即,找到这个而不必查看所有代码?
javascript debugging jquery event-handling javascript-events
给定element一个包含javascript对象/ DOM元素的变量,如何确定event.target是否是一个元素element?
function(event){
// assume that var element exists in this scope
if(event.target == a_child_of(element))
// do something
}
<div id="myDiv">
<div class="innerDiv">
<input type="text"/>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果element是myDiv,内部div或输入上发生的事件或内部可能存在的任何其他元素myDiv应该使该语句评估为true.
我想我可以使用递归函数来构建子元素数组,然后检查event.target是否在数组中,但我想先看看是否有更简单的答案.
请解释document.hiddenHTML5 Page Visibility API和document.hasFocus().之间的区别.我正在做一个项目,HTML5 Desktop Notification当选项卡没有聚焦时弹出.我有点困惑哪一个使用.
javascript ×10
jquery ×4
debugging ×1
dom ×1
focus ×1
html ×1
html5 ×1
safari ×1
window.open ×1