标签: javascript-events

JavaScript - OffFocus活动?

我想要做的是显示带有文本颜色的输入字段black.

然后,当人在输入字段(onfocus)内部单击时,我想将文本颜色更改为red.

然后,当人在输入之外点击fied(不再焦点)时,我想将文本颜色改回black.

我知道如何使用以下方法处理JavaScript onfocus事件:

<input ctype="text" onfocus="this.style.color='red';" />
Run Code Online (Sandbox Code Playgroud)

但是,如何处理"关闭焦点"以将文本颜色更改为黑色?

提前致谢

html javascript focus javascript-events

11
推荐指数
1
解决办法
2万
查看次数

计算字符串中的元素

我有一个逗号分隔值的字符串.如何计算以逗号分隔的字符串中的元素数量.例如,跟随字符串有4个元素

string ="1,2,3,4";

javascript javascript-events

11
推荐指数
2
解决办法
2万
查看次数

Safari/Chrome中的MouseOver MouseOut问题

这是一个奇怪的,我很震惊,我从来没有注意到它.它的工作原理如下,如果你的鼠标静止并且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并离开,因为这种方法没有冒泡

我想知道是否有其他人对此有过想法...我觉得有一个简单的方法可以解决它,但到目前为止谷歌还没有提出任何建议.

javascript safari google-chrome javascript-events

11
推荐指数
1
解决办法
5389
查看次数

如何收集onbeforeunload的返回值

如果用户尝试关闭窗口而不保存表单,我将显示一条警告消息.

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)

javascript onbeforeunload javascript-events

11
推荐指数
1
解决办法
1万
查看次数

为什么window.open(...).onunload = function(){...}无法正常工作?

我希望能够告诉我打开的窗口何时被用户关闭.这是我试图监控这个的代码:

<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 javascript-events window.open window.onunload

11
推荐指数
1
解决办法
2万
查看次数

javascript和/或jQuery中的函数监听器

想知道是否有一种优雅的方式来监听javascript和/或jQuery中的函数.

而不是倾听$('#mything').click(function(){ //blah })我想要在特定功能被触发时监听.我不想编辑函数,因为它在我不想直接破解的库中.

我找到了这个:连接函数的http://plugins.jquery.com/project/jqConnect.

但想知道更好的技术.

javascript jquery event-handling javascript-events

11
推荐指数
1
解决办法
9479
查看次数

检查哪个事件使用jQuery触发了该函数?

如何使用Jquery检查在Javascript上调用我的函数的事件?

像我一样:

var mycall= function() { 
    alert('Which Witch is Which?');
}

$(window).load(mycall);
$(window).resize(mycall);
Run Code Online (Sandbox Code Playgroud)

我明白我可以将一个参数传递给函数,我仍然对这种方法感兴趣而不传递任何参数.

javascript jquery javascript-events

11
推荐指数
2
解决办法
9156
查看次数

有没有办法用Javascript查找元素的事件处理程序?

说你有这个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

11
推荐指数
2
解决办法
1万
查看次数

jquery event.target is_a_child_of(element)

给定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是否在数组中,但我想先看看是否有更简单的答案.

javascript jquery javascript-events

11
推荐指数
2
解决办法
1万
查看次数

document.hidden与document.hasFocus()之间的区别

请解释document.hiddenHTML5 Page Visibility API和document.hasFocus().之间的区别.我正在做一个项目,HTML5 Desktop Notification当选项卡没有聚焦时弹出.我有点困惑哪一个使用.

javascript html5 dom javascript-events

11
推荐指数
2
解决办法
3971
查看次数