Tag: javascript events

检测jqGrid单元格中的复选框事件

我在学习javascript和jQuery过程中正在探索jqGrid ,我在一个网格单元checkbox中放置了一个checkbox ,太棒了! 这就是我所拥有的: $(“#myTable”).jqGrid({ colModel:[ name:’cb’, index:’cb’, width:40, sorttype:”text”, align:”center”, edittype:”checkbox”, editoptions:{value:”Yes:No”}, formatter: “checkbox”, formatoptions: {disabled : false}}, other stuff… ] 单击复选框时,如何捕获事件并确定相应的行数据? 此外,当我单击复选框时,客户端的基础数据已更新(cb字段是否切换为“是”/“否”)? 我该如何实现这一目标?

我可以在按钮点击时显示/创建jsTree吗?

我有一个div id=”result” ,用于显示用户操作的结果。 我也把纯文本和HTML放在那里。 在每个用户操作之后,该div将被新results覆盖。 现在我想在这个div里面显示一个jsTree的实例我有工作的jsTree在页面加载时很好地加载但是在我的结果div中插入 之后它没有加载。 我尝试过以下两行,但都没有效果。 $(“#tree”).jstree(“loaded”); $(“#tree”).jstree(“refresh”); 知道如何让jsTree显示后按钮点击吗? 请在jsfiddle上播放 ,你可以看到一棵树,我想在点击按钮后显示另一棵树。 我是在树后而不是文本。 在将hstree div放入html之后,我想我需要重新加载或刷新树。

attachEvent或addEventListener – 存储在哪里?

在JQuery中,如果我这样做…… $(‘a’).click(function(){ // Do something }); … click事件存储在$(‘a’).data(‘events’) ,我可以像这样获取它: jQuery.each($(‘a’).data(‘events’), function(i, event){ jQuery.each(event, function(i, handler){ if(handler.type.toString() == ‘click’) { // do something } }); }); 通过attachEvent或addEventListener附加的事件显然不会出现在$(‘a’).data(‘events’) 。 有什么我可以迭代它的位置? 我猜他们在某个地方排队,但我找不到文件指出我正确的方向。

javascript中是否有通用的window.onevent?

我正在尝试制作一个JavaScript(jQuery也很好)函数来检查用户在当前页面上处于非活动状态的时间。 我知道在JavaScript中有特定的窗口事件,如window.onload , window.onmousemove等。但我想知道是否有任何函数可以捕获任何事件(例如鼠标移动,按键或任何其他指示活动的事件)由用户在页面上)而不必手动设置所有这些事件监听器?

使用jQuery重新绑定DOM事件

这纯粹是一个理论问题,所以我不是在寻找替代解决方案。 有没有办法让默认处理程序做这样的事情 var defaultHandler = $(“#test”).click; $(‘#test’).unbind(‘click’); $(‘#test’).bind(‘click’, defaultHandler);

如何使用jquery在新选项卡或窗口中捕获打开的链接?

是否可以使用jQuery捕获在新窗口/选项卡中打开的右键单击或在新窗口/选项卡事件中打开鼠标滚轮? 更新1 这就是我需要它的原因。 我有使用分页类的codeigniter应用程序。 我用这个类来显示一个网格。 分页链接已与使用AJAX加载容器div中的下一页的方法绑定。 现在有人可以右键单击并在新标签/窗口中打开我不想要的下一页。 恕我直言,处理这个问题的唯一方法是在新窗口/标签事件中打开(右键单击或鼠标滚轮按钮单击)陷阱。 更新2 我刚刚意识到我的所有AJAX请求都由一个CI控制器提供服务,它实际上充当其他类/库的代理。 在这个控制器中,我可以查看请求,如果它不是AJAX请求,我可以将用户重定向到另一个页面。

设置jQuery.data()会触发事件吗?

我想知道是否调用$(“.domElement”).data(“key”, “newValue”)会触发我能处理的事件吗? 我尝试过绑定change但是在设置数据时不会触发此操作。 我认为这个问题可能会问类似的东西,但绑定changeData也不起作用changeData data()和’changeData’事件 。

JQuery $(window).focusout问题

问题是,我正在创建一个类似聊天的程序,需要知道用户是否已离开窗口,还是更改为另一个窗口或标签,以允许其他用户看到其他用户现在没有看到该页面。 我认为窗口事件焦点会解决我的问题,然而,它有一些问题。 第一:它不会仅在用户离开窗口时触发,如果它们专注于输入字段,然后单击页面中的任何其他位置,则事件将触发。 显然这是无法忍受的。 我在Firefox中设法解决了这个问题。 在Firefox上,当发生这种情况时,浏览器会触发一次focusout事件。 但是,如果你真的离开了窗户,它会发射两次。 所以,一点编程就变得神奇了。 然后是第二个问题:Chrome,我相信其他浏览器的行为可能相同,只会触发一次焦点事件,无论你做什么。 离开窗口,将焦点从输入改为页面,它是一样的,所以,我的编程没有在那里工作。 有没有人知道模拟所需行为的方法? 或者让Chrome和其他可能的浏览器表现得像Firefox或其他任何东西? 感谢大家!

是否可以在弹出窗口中检测用户点击事件?

如果当前url和popup url使用以下代码在同一域中,我可以在弹出窗口中检测用户单击事件。 var myWindow = window.open(“abc.html”,”MsgWindow”, “width=500″,”height=600”); $(myWindow).on(‘click’, ‘a’, function() {alert(‘a’)}); 但是,是否可以从外部URL检测用户活动,如下所示。 var myWindow = window.open(“http://google.com”,”MsgWindow”, “width=500″,”height=600”); $(myWindow).on(‘click’, ‘a’, function() {alert(‘a’)}); 第二个片段对我不起作用。 我怎样才能让它发挥作用。 提前致谢。

使用输入元素上的修饰键触发单击事件

我正在为一些涉及用户按住Shift键点击复选框的function编写测试。 我正在使用$(‘input’).trigger($.Event(‘click’, { shiftKey: true })); 模拟那个。 但是当事件监听器被调用时, event.shiftKey属性总是在源自我的合成事件时报告为false ,而实际点击产生所需的效果。 更令人困惑的是,在非input元素上触发相同的事件似乎工作得很好。 例如,请参见http://jsfiddle.net/hus​​kssk1/ 。 我在我的浏览器(Chrome 39,OS X)和测试堆栈(Poltergeist 1.5.1 + PhantomJS 1.9.8)中都观察到了这种行为。 是什么导致了这个? 它有什么办法吗? PS我的完整测试堆栈是Ruby on Rails + RSpec + Capybara + Poltergeist + PhantomJS,如果你知道触发shift-click的更好方法,请告诉我!