Tag: javascript events

停止输入/返回键提交表格

我在表格中有一张桌子。 该表包含一些表单字段,但表格外部还有表单字段(但仍在表单中)。 我知道Enter和Return传统上用于通过键盘提交表单,但我想停止表中字段的这种行为。 例如,如果我将一个字段集中在表中并按Enter / Return,则不会发生任何事情。 如果我将一个字段聚焦在表格之外(但仍然在表格内),那么它就像正常一样提交。 我有一个针对此表的jQuery插件。 简而言之,这就是我迄今为止所尝试过的: base.on(‘keydown’, function(e) { if (e.keyCode == 13) { e.stopPropagation(); return false; } }); 其中base是表jQuery对象。 这是我的插件的init方法。 但是,按Enter键仍会提交表单。 我哪里错了? 编辑:一些简化的HTML:

jquery:on vs live

我很好奇为什么当我用.on()替换.live() ,我的事件在通过html()方法插入AJAX的响应后不起作用。 假设我有html结构: alert update 和jquery代码类似: $(‘.alert-link’).on(“click”, function(){ alert(‘abc’); return false; }); 和ajax-update将触发请求,响应将是 警报更新 我将它插入parent() 。 然后再次按下alert-link将导致重定向到/但如果我将.on()更改为.live()则会再次显示警报。 我在这里想念的是什么? 我已经读过.on()是.delegate()和.live()替代品。

使用javascript最小化浏览器窗口

是否有javascript或jQuery方法来最小化当前的浏览器窗口?

将多个键绑定到按键事件

我目前正在使用此Javascript kepypress代码在按键时触发事件: $(document).keydown(function(e) { switch(e.keyCode) { case 39: e.preventDefault(); alert(“Arrow Key”); break; case 37: e.preventDefault(); alert(“Arrow Key”); } }); 但我想知道的是,如果我可以而不是绑定一个键绑定两个键的组合。 我可以这样做: $(document).keydown(function(e) { switch(e.keyCode) { case 39 && 37: e.preventDefault(); alert(“Arrow Key”); break; } });

在iframe的父窗口中触发事件

为什么以下不起作用: //iframe: window.parent.$(document).trigger(‘complete’); //parent window: $(document).bind(‘complete’, function(){ alert(‘Complete’); }); 而以下IS工作: //iframe: window.parent.$(‘body’).trigger(‘complete’); //parent window: $(‘body’).bind(‘complete’, function(){ alert(‘Complete’); }); ?

为内容更改创建jQuery特殊事件

我正在尝试创建一个jQuery特殊事件,当绑定的内容发生更改时触发该事件。 我的方法是使用setInterval检查内容,并检查内容是否从上次更改。 如果你有更好的方法,请告诉我。 另一个问题是我似乎无法清除间隔。 无论如何,我需要的是使用event.special检查内容更改的最佳方法。 (function(){ var interval; jQuery.event.special.contentchange = { setup: function(data, namespaces) { var $this = $(this); var $originalContent = $this.text(); interval = setInterval(function(){ if($originalContent != $this.text()) { console.log(‘content changed’); $originalContent = $this.text(); jQuery.event.special.contentchange.handler(); } },500); }, teardown: function(namespaces){ clearInterval(interval); }, handler: function(namespaces) { jQuery.event.handle.apply(this, arguments) } }; })(); 然后像这样绑定它: $(‘#container’).bind(‘contentchange’, function() { […]

keyup,keydown,keypress和input事件之间有什么区别?

我一直在尝试理解jQuery keypress,keydown,keyup和输入事件。 但我发现它们很混乱。 有人可以指出确切的区别吗? 此外,我想知道当用户粘贴一段文本时,所有这些都会被触发。 谢谢

在jQuery中监听文档级别的事件是否有任何缺点?

要听取元素上的事件,我想在文档层面上进行聆听: $(document).on(‘click’, ‘.myclass’, function() {/*do something*/}); 比元素级别的风格更好: $(‘.myclass’).on(‘click’, function() { /*do something*/ }); 原因是第一种风格也适用于动态添加的新元素。 您还可以在Bootstrap中看到此样式使用了很多: https : //github.com/twitter/bootstrap/blob/master/js/bootstrap-alert.js 我想广泛使用第一种风格。 但是我想知道这种风格是否有任何缺点,比如性能?

通过图层/ div转发鼠标事件

有没有人知道jQuery或本地JavaScript方式通过图层启用鼠标事件? 例如,启用div下面的链接。 在我的情况下不能使用的其他解决方案: 一个简单的方法 ,虽然使用不是真正支持的pointer-events ( 编辑截至2017年, 广泛支持 ) ExtJS解决方案

捕获window.onbeforeunload确认对话框的结果

有没有办法捕获window.onbeforeunload确认对话框的结果,如Stack Overflow中的下一个(当离开’Ask Question’页面而不发布问题时会发生这种情况)? 这就是它在Chrome中的显示方式,我相信它在其他浏览器中略有不同,但你总是有某种forms的是/否按钮。 据推测,如果事件被触发后他们仍然在违规页面上,他们选择留下来,你可以通过观察js序列来解决这个问题。 但是我想知道如何确定他们是否点击了“离开此页面” ? 我已经实现了如下: // concept taken from SO implementation function setConfirmUnload(showMessage, message) { window.onbeforeunload = showMessage ? (message ? message : “this is a default message”) : null; } // pseudo code listen to changes on inputs if any inputs fire a change event call setConfirmUnload(true, ‘My warning message’) 请注意我在我的网站中使用jQuery。 […]