Tag: events

CKeditor上的Jquery事件

你好,在一个带有id为“ckeditor_input”的textarea的表单中 $(“#ckeditor_input”).ckeditor(); $(“#ckeditor_input”).html(); // can get the value (“#ckeditor_input”).click/blur/keydown/keypressed( function(){ alert(“OK”); } ); //doesn’t work! 问题是ckeditor! 如果我没有在textarea上启动ckeditor的实例,所有事件都可以正常工作! 在ckeditor实例上获取事件的正确方法是什么? 谢谢

Javascript绑定是否在不使用时占用内存?

我有一个我已经建立的日历,并且在点击日历上的一天时,会运行一个function。 您可以在日历上逐月进行,并随着时间的推移生成数月。 由于日历上的每一天,无论是否显示,都使用所有“日期”的类别绑定到一个事件,我担心成千上万的“绑定”的数量。 //after a new month is generated, the days are rebound TDs.off(“mousedown”); TDs = $(“.tableDay”); TDs.on(“mousedown”, TDmouseDown); 当我学习C#/ Monogame时,我学会了很快重复更新游戏元素的function。 所以,我想知道javascript是否以相同的方式工作。 Javascript引擎是否反复检查每个事件绑定以查看它是否已发生? 这样的结构是这样的: function repeat60timesPerSecond(){ if(element1isClicked){ //blah } if(element2isClicked){ //blah } if(element3isClicked){ //blah } } 或者Javascript在事件发生时能够以某种方式实际触发函数吗? 简而言之:Javascript绑定是否仅通过现有内存占用内存? 到目前为止我的(不确定的)研究: 我已经多次尝试自己回答这个问题。 首先,我做了一个jsperf测试。 除了测试中一致性的明显问题外,测试实际上没有测试这个问题。 它主要测试是否解除绑定比解除绑定更快。 而不是创建后实际绑定占用多少内存。 我无法想出一种方法来使用此测试服务来测试它。 然后我用谷歌搜索了一下,发现了很多有趣的东西,但没有直接回答这个问题。 我确实遇到过这个答案,建议在类似的情况下使用事件容器的单个事件绑定。 更新: 发布之后,我想到了用本地JS测试这个的可能方法: function func(){ console.log(“test”); } for(x=1;x<1000;x++){ $('#parent').append("”); […]

在`mousedown`事件期间添加新元素会阻止触发`click`事件?

我正在使用jquery事件,我在mousedown时在鼠标指针的位置添加一个新元素,并且在添加元素后,不会触发绑定的click事件。 任何建议都是可观的。 提前致谢。 马杜 码: Click Hello var visualEle = $(‘div.vis’); visualEle.css({border:”1px solid”}); $(‘a’).on(“click”, function (e) { e.preventDefault();}); $(‘div’).on(“mousedown”, mDown); $(‘div’).on(“mouseup”,mUp); function mDown(e) { e.preventDefault(); visualEle.css({ left: 100, top: 0, display: “block” }); } function mUp(e) { e.preventDefault(); $(‘span’).append(‘mouse up triggerd’); return false; } $(‘p’).on(“click”,dClick); function dClick(e) { $(‘span’).append(‘double click triggerd’); } 在上面的代码中, mousedown完成后不会触发click事件。

单击(虚拟桌面)将div移动到顶部

我有一个像虚拟桌面一样工作的应用程序(底部水平栏中的图标)。 单击图标时,将打开一个窗口(动态创建)。 如果您单击另一个(或相同)图标,则另一个窗口将向下打开10px,从最后一个窗口向右打10px,然后移动到顶部。 我需要完成的是,如果您单击在另一个窗口下移动的窗口,则单击的窗口将移动到顶部。 下面是我到目前为止所得到的,但它根本不是一个好的解决方案(例如,如果你点击一个已经在顶部的窗口,那么函数仍会运行并且窗口上的z-index计数)。 什么是更优雅的解决方案? 提前致谢! Windows.prototype.moveOnTop = function(){ var boxes = $(‘.window’); boxes.click(function() { var thisWindow = $(this); Windows.prototype.getZindex(thisWindow); }); } Windows.prototype.getZindex = function(thisWindow){ var boxes = $(‘.window’); var maxZindex = 0; boxes.each(function() { var zIndex = parseInt($(this).css(‘z-index’), 10); maxZindex = Math.max(maxZindex, zIndex); }); thisWindow.css(“z-index”, maxZindex + 1); }

如何添加事件监听器?

我使用swfobject嵌入vimeovideo,它非常简单, var vimPlayer; function vimeo_player_loaded(id){ vimPlayer = document.getElementById(id); vimPlayer.addEventListener(‘play’, function(){ alert(‘Playing’); }); vimPlayer.api_play(); } vimPlayer.api_play(); 播放video就好了! 但是,如何将侦听器绑定到该函数以便我可以执行其他任务? 我添加的听众根本不会开火。

从jQuery或vanilla javascript事件触发合成ExtJS事件

有一个使用ExtJS 3.1实现的网站。 我想自动预先填写一些字段。 问题是,当自动填充时,ExtJS不会validation某些字段。 我可以通过触发ExtJS的模糊事件来触发validation: field.fireEvent(‘blur’, field); 但是,我不想这样做。 我希望通过jQuery触发的正常事件触发validation: $field.blur(); 我在这里问的是以下内容: 如何以与浏览器相同的方式触发文本框的模糊事件,以便ExtJS的事件处理程序运行? 顺便说一句:我不想手动触发ExtJS事件的原因很简单:这个解决方案似乎适用于ExtJA 3.1但不再适用于4.2,我不想为每个版本的ExtJS编写特殊处理代码。 如果你想玩一下: 以下是URL: https : //www.pantaenius.com/en/service/login/request-a-quote.html?utm_source=http%3A%2F%2Fwww.pantaenius.com%2Fen%2Famerican-yacht-insurance html的&utm_medium =直接&domain_segment = 33 在Chrome中打开它,打开Chrome的开发者控制台并粘贴以下文字: delete console.log var $city = jQuery(‘#ext-comp-1080’); var city = Ext.ComponentMgr.all.filterBy(function(x) { return x.isXType(‘combo’) && x.id===’ext-comp-1080′; }).items[0]; var blurEventFireFn = city.events.blur.listeners[0].fireFn; city.events.blur.listeners[0].fireFn = function(field) { console.log(‘ExtJS blur fired!’); blurEventFireFn(field); }; 当您单击City字段然后在其他字段中时,您将看到输出ExtJS blur […]

Toolbar.js由Paul Kinzett事件处理

我想使用来自http://paulkinzett.github.io/toolbar的 toolbar.js,但即使我有工具栏处理事件的处理文件,我似乎无法识别哪个工具栏按钮/图标我点击了。 下面是代码snippit,它几乎从示例站点中解除了。 我不是JS的专家,所以如果有人可以告诉我如何处理toolbarItemClick事件以便我可以预先形成正确的动作,那将是非常棒的。 谢谢Lionel ‘; ‘; ‘; ‘; $(‘#normal-button’).toolbar({content: ‘#user-options’, position: ‘top’}); $(‘#normal-button’).on(‘toolbarItemClick’, function(event) { console.log(event); } );

.focus(函数)选择多个

这个问题已被问过很多次,但是我没有看到“多种”变种的任何答案: http://jsfiddle.net/queZ6/107/ 当您在框中选中时,我想显示警报并捕获焦点事件。 我基本上想要更改围绕每个输入的元素的突出显示,随后填写表单时。 它基本上是一个信号,用户可以轻松查看他们的字段。 我不能为我的生活弄清楚如何捕捉焦点事件,虽然tabbing到框中(或显然也点击它)。 考虑到你输入INTO输入,我不明白为什么这很难。 不能javascript看到新创建的输入(你输入的内容)并绑定到那个? JS有时候让我很困惑:S

DOMNodeInserted在body上执行DOM操作时表现得很奇怪

以下代码使用DOMNodeInserted在body元素插入DOM后对其执行DOM操作。 我知道$(document).ready(function { }); 足以完成这项工作,但我想测试DOMNodeInserted事件。 function DOMmanipulation() { if (document.body) { document.removeEventListener(‘DOMNodeInserted’, DOMmanipulation); // DOM manipulation start document.body.innerHTML = ” + document.body.innerHTML + ”; // DOM manipulation end } } if (document.addEventListener) { document.addEventListener(‘DOMNodeInserted’, DOMmanipulation); } Lorem ipsum dolor sit amet. 如您所见,DOM操作是将body所有innerHTML包装到 。 它确实有效。 但是,发生了一件奇怪的事情。 如果您使用Firebug或Chrome Developer Tool检查被操纵的body ,您会发现添加了一个神秘的元素。 它是: 尽管操作成功,但Firebug显示了这个错误: 找不到节点(jquery.min.js第2行) Chrome Developer Tool会显示以下错误: […]

禁用上下文菜单和右键菜单

$(document).on(‘mousedown’, ‘a’, function(event){ event.preventDefault(); if(event.which == 1){ if($(this).attr(‘target’) != ‘_blank’){ loadpage($(this).attr(‘href’)); } } }).on(‘contextmenu’, ‘a’, function(event){ event.preventDefault(); }); 你好再次Stackoverflow! 对于我当前的项目,我想在每个链接上禁用鼠标右键和中键。 当用鼠标左键单击时,如果链接不包含target=”_blank” ,我需要调用一个使用AJAX加载该页面的函数。 (function loadpage() )。 虽然鼠标中键仍然打开一个新选项卡,但这段代码工作正常。 我该如何解决这个问题? 提前致谢!