Tag: javascript events

加载微调器gif图像卡住了

我有一个6kb动画gif加载微调器。 当我在浏览器窗口中打开它时,旋转很好。 但是当它在我的网页上的ajax调用打开时,它就会卡住。 它准时出现,并且准时消失,但不会旋转。 有任何想法吗? 这是jquery代码: $(‘#please-wait’) .css(“visibility”, “visible”)//.hide() .ajaxStart(function() { $(this).css(“visibility”, “visible”); }) .ajaxStop(function() { $(this).css(“visibility”, “hidden”); }); 要么 $(‘#please-wait’) .show() .ajaxStart(function() { $(this).show(); }) .ajaxStop(function() { $(this).hide(); }); 有任何想法吗?

重新启动事件监听器javascript / jquery

我有一个页面,其中的内容通过ajax引入。 我遇到的问题是在加载内容后添加相关的事件侦听器。 有没有办法告诉浏览器再次从头部运行所有脚本? 下面是一个从页面头部运行的代码的简单示例,显然任何与通过AJAX引入的’.RRCustomizeBox .customize’相匹配的新html元素都不会有以下click事件。 例如: _vvdCMS.kklsRegions = { init: function (){ $(document).ready(function(){ $(‘.RRCustomizeBox .customize’).click( function(){ _vvdCMS.kklsRegions.showRRCustoms(this); }); }); }, showRRCustoms: function(obj) { var objParent = $(obj).parent(); objParent.find(‘.RRCustomizeBoxForm’).fadeIn(700); } } _vvdCMS.kklsRegions.init(); 谢谢你的任何提示, 约翰

当AutoPostBack =“True”时,DropDownList不会触发onb​​eforeunload

我使用这些页面中描述的技术实现了“未保存的更改”警告: “未保存数据”保护的客户端/ JS框架? http://kenbrowning.blogspot.com/2009/01/using-jquery-to-standardize.html 除了页面上的DropDownList之外,这很有效。 它执行AutoPostBack,我希望onbeforeunload可以触发,因为未保存的更改将丢失,但它无法正常工作。 它应该提高onbeforeunload事件吗? 我可以以某种方式让它提升事件吗? 编辑: DropDownList位于UpdatePanel内部,这意味着它不会卸载页面,这就是为什么没有触发onb​​eforeunload的原因。 有没有办法以编程方式触发事件? 或者我必须滚动自己的模仿确认对话框? Edit2我现在有一个解决方案,它将对话框添加到UpdatePanel的异步回发中。 我编辑了原始脚本,添加了对setConfirmAsyncPostBack()的调用,如我的解决方案中所述。 这是我的javascript: /****Scripts to warn user of unsaved changes****/ //https://stackoverflow.com/questions/140460 //http://jonstjohn.com/node/23 //Activates the confirm message onbeforeunload. function setConfirmUnload(on) { setConfirmAsyncPostBack(); if (on) { removeCheckFromNoWarnClasses(); fixIEonBeforeUnload(); window.onbeforeunload = unloadMessage return; } window.onbeforeunload = null } function unloadMessage() { return ‘You have unsaved changes.’; […]

如何在表单Serialize()ajax中包含提交按钮名称和值

我有麻烦,我的代码不起作用,因为我的服务器脚本端需要提交按钮的名称。 我使用Ajax方法,并使用数据:序列化,当我点击Sumbit时,它不起作用。 这是我的JavaScript代码: $(function(){ $(‘#buy_product’).submit(function(e){ e.preventDefault(); var submitData = $(‘#buy_product’).serialize(); submitData.push({ name: this.name, value: this.value }); $(‘.loading’).html(‘{{HTML::image(‘img/ajax-loader.gif’)}}’); $.ajax({ type: “POST”, data: submitData, url: “{{URL::base()}}/products/view/{{$products->id}}/{{Str::slug($products->name_product, ‘_’)}}”, success: function(msg){ $(‘#qty’).val(”); $(‘.loading’).html(msg); } }); }); }); 如果你有线索,请告诉我,我很高兴。 万分感谢 我的按钮是这样的:

如果在加载发生后附加事件,则确保在jQuery事件中触发加载代码

我试图找出如何最好地将load事件附加到元素,但要确保它运行。 当我绑定到img的load事件时出现问题,但是绑定发生得太晚并且图像已经加载。 有没有办法在jQuery中检查图像是否已经加载? 它显然是一个间歇性问题,因为有时代码在图像加载之前运行,有时则不运行。 $(function () { var hasRun = false; $(‘#image’).bind(‘load’, function () { if ($(this).width() <= 0 || $(this).height() <= 0 || hasRun) return; hasRun = true; // do work here }).trigger('load'); }); 代码看起来像那样。 我添加了hasRun变量并检查变量的高度和宽度以确保其已加载,然后添加了触发器。 有一个更好的方法吗? 是否有一些我可以用jQuery设置的标志告诉它如果图像已经加载则运行该函数?

javascript如何在以后触发本机点击操作(重播事件)?

我正在使用jQuery绑定页面上的所有链接(我正在使用’click’事件,但尝试了’mousedown’和’mouseup’的各种组合,以及bind()和live()无济于事)。 我可以拦截点击没问题(使用上述所有方法)。 我想要做的是通过GET请求发送一些数据,当它完成时,允许默认点击操作继续。 由于我在跨域通信,我必须使用GET而不是POST,因此无法进行同步调用。 因此,我必须从截获的点击事件返回’false’,将事件存储起来以供日后使用,然后在通信完成后再次手动触发它。 如果我返回true,则随着页面位置的改变,通信将在中途被切断。 问题是,我找不到以后触发本机点击事件的方法。 var storedEvent; $(“#wrapper a”).bind(‘click’, function(event, processed) { $(event.target).unbind(‘click’); // temporary to make code branching easier storedEvent = event.target; event.stopPropagation(); $.ajax({ dataType: ‘jsonp’, data: linkData, jsonp: ‘cb’, url: ‘xxx’, cache: false, complete: function(response) { // How do I now go back and fire the native click event here? $(storedEvent).click(); […]

将消息从Chrome扩展程序传递到网页

我需要在Chrome扩展程序中传递消息(引发活动),并在网页上对JavaScript做出反应。 在扩展的content_script.js中,应该有一个类似的函数 raiseXYZevent(data); 网页http://foo.com/mypage.html上的JavaScript应该执行处理程序 function processXYZevent(data) { … } 问题是扩展中的内容脚本无法直接与网页上的JavaScript交互(它只能修改DOM)。 有没有办法从扩展中进行DOM更改,以某种方式从网页中检测它们并调用processXYZevent ?

自定义事件文档onContentChange

这里jsFiddle来测试样本 我正在编写一个jquery片段来处理由任何jquery domManip函数(扩展一些函数)触发的DOM中的任何html内容更改。 不确定这是最好的方法,所以任何建议都会受到欢迎。 如果绑定到文档,此代码段将按预期工作。 但是,如果我尝试将其绑定到特定元素,我将遇到一些问题,其中一些函数为.remove() 。 也许这是由于自定义事件不使用正常的传播行为,但我真的不确定。 这是一个工作示例,我将’contentChange’事件绑定到文档,跨浏览器工作,因为我可以测试它:{Firefox,IE9,Chrome和Win7下的Safari} ; (function ($) { $.fn.contentChange = function (types, data, fn) { return this.on(‘contentChange’, types, null, data, fn); }; var oDomManip = $.fn.domManip, oHtml = $.fn.html, oEmpty = $.fn.empty, oRemove = $.fn.remove, extendFct = function (oFct, sender, args) { return oFct.apply(sender, args), $.event.trigger(‘contentChange’); //=>if testing specific element […]

在单元格中文本发生变化时的jQuery事件监听器?

在jQuery中是否有任何方法可以将监听器附加到单元格,以便当单元格内的文本发生更改时(通过JavaScript而不是用户),事件会被触发?

jQuery事件:为现有的回调处理程序添加一个回调处理程序

在网页上是带有click和/或按键处理程序的元素。 如果我添加一个新的,它将在它们之后执行。 我需要一种方法来添加一个新的回调,它被添加到事件处理程序列表中,以便事先执行它。 如何用jQuery实现这一点? 更新 为什么我不能只使用jQuery的unbind方法? 我正在将jQuery代码注入任何网页,因此我不知道是否使用了任何JavaScript框架。 我需要一种通用的方法来检测事件处理程序并预先安排。 (在你问之前,我正在构建一个“记录器”应用程序,它跟踪用户存储它们的操作并在以后执行它们。) 更新2 我只使用Firefox,不需要IE兼容性。 我必须等待页面完全加载,然后我的jQuery脚本将被调用。