Tag: 处理程序

JQuery在图像上加载事件

我想在加载图像时将图像父级的大小调整为相同大小的图像。 这时我正在使用这段代码: $(window).load(function(){ $(‘.image-principale’).each(function(){ $(this).parent().css(‘height’, $(this).height()); }); }); 它工作,除了它只在每个图像加载时运行。 我试图直接为每个图像添加一个加载处理程序,但它们不会触发。 怎么了? 谢谢!

存储和还原事件处理程序

请帮助修复我的function,存储一个元素的事件并删除它们,然后重新安装; 我不知道问题在哪里,该函数只会删除元素的事件而不会恢复。 请帮忙解决。 HTML a b​ JS $(“#a”).hover(function(){alert(“test”)}); $(“#b”).click(function(){ Test_Handle(‘#a’); } function Test_Handle(id) { target = $(id); if($.hasData(target.get(0))){ // if the elment has event || target = element target[0].event_name = []; target[0].event_handler = []; events = $._data(target.get(0), ‘events’); // take all events of the element $.each(events, function(event_name, event_handler){ target[0].event_name.push(event_name); target[0].event_handler.push(event_handler); }); //store the events target.off(); […]

使用jquery和handler(ashx)上传文件

我正在尝试使用带有处理程序(c#)的jquery ajax上传文件。 问题是,当我调用处理程序时,我得到了 context.Request.File.Count=0 这是aspx代码: $().ready(function () { $(‘#save’).click(function (e) { CalluploaderHandler(); }); }); function CalluploaderHandler() { $.ajax({ type: “POST”, url: “Services/UPloader.ashx”, contentType: “application/json; charset=utf-8”, success: OnComplete, error: OnFail }); return false; } function OnComplete(result) { alert(‘Success’); } function OnFail(result) { alert(‘Request failed’); } Filename: c#代码处理程序: /* handler*/ public void ProcessRequest(HttpContext context) { string savedFileName […]

Jquery前置单击处理程序

如果您知道更好的方法,请告诉我。 我有一个页面,其中包含许多按钮,图表和表格。 我已经阅读了关于停止事件传播的内容,这就是我将要使用的内容。 我想在cerain元素上启用帮助。 我有一个复选框,可以在启用帮助的div上更改光标。 我想要做的是在正常点击行为之前添加帮助function。 基本上就是这样。 我想要的是,如果单击该复选框,我添加一个css类(已经完成)然后我在正常点击之前添加一个点击处理程序。 单击该元素时,将运行helpfunction并且不会触发默认按钮单击处理程序。 取消选中帮助复选框后,我想删除帮助function。 我意识到我可以为每个元素强制执行此操作并检查辅助函数以查看是否选中了复选框。 但我更喜欢采用更通用的方式。 谢谢 约翰

事件处理程序和监听器和事件冒泡和事件捕获

我对JavaScript中的“Event Listener”,“Event Handler”,“Event Bubbling”和“Event Capturing”感到困惑。 我在互联网上搜索并查看了不同的网站但是,我仍然有一些问题了解一些差异甚至基本情况。 正如本文所述 ,创建事件处理程序并侦听事件。 这是否意味着,附加到DOM内部元素的JavaScript函数不是事件处理程序,它们是事件监听器? 此外, 在这里我发现了“事件冒泡”和“事件捕获”之间的区别。 此外,我前段时间已经读过,在dojo中,所有事件都被标记捕获。 是否意味着DOM中的其余元素没有附加JavaScript? 更准确地说,如果一个事件将由父母通过“事件冒泡”处理,那么就没有必要为孩子们​​添加听众吗? 这些术语背后的确切定义是什么?

在Javascript中切换点击处理程序

我有一个HTML按钮,我使用jQuery的bind()附加一个事件,如下所示: $(‘#mybutton’).bind(‘click’, myFirstHandlerFunction); 在myFirstHandlerFunction ,我希望这个处理程序用一个新的处理程序mySecondHandlerFunction替换它自己,如下所示: function myFirstHandlerFunction(e) { $(this).unbind(‘click’, myFirstHandlerFunction).bind(‘click’, mySecondHandlerFunction); } 在第二个单击处理程序mySecondHandlerFunction ,我想将按钮切换回其原始状态:取消绑定mySecondHandlerFunction处理程序并重新附加原始处理程序myFirstHandlerFunction ,如下所示: function mySecondHandlerFunction(e) { $(this).unbind(‘click’, mySecondHandlerFunction).bind(‘click’, myFirstHandlerFunction); } 除了一个小细节之外,这很有用:因为click事件尚未通过每个按钮的单击处理程序传播,click事件会传递给按钮的下一个单击处理程序,该处理程序恰好是刚刚绑定的处理程序前一个处理程序。 最终结果是mySecondHandlerFunction在执行myFirstHandlerFunction后立即执行。 通过在每个处理程序中调用e.stopPropagation()可以很容易地解决此问题,但这具有消除可能已独立附加的任何其他单击处理程序的负面副作用。 有没有办法在两个点击处理程序之间安全地和一致地切换,而不必停止点击事件的传播?

JQueryvalidation和表单提交处理程序之间的交互:破碎,或者我做错了什么?

我的一些表单需要validation,我使用JQueryvalidation插件。 我的一些表单需要一个自定义提交处理程序(在提交之前有条件地弹出一个确认对话框,与validation无关)。 我将处理程序附加到表单,如下所示: function confirmHandlerAttach(form, handler) { $(form).off(“submit”, confirmHandlerDefault); $(form).on(“submit”, handler); } validation和提交处理程序都基于类在doc准备好。 独立,两者都很好。 问题是,无论validation是否成功,似乎都会调用表单的提交处理程序。 在这里看一个简单的例子。 这不是我所期望的。 我认为validation会阻止提交和提交处理程序运行。 我做错了什么,还是我的期望错了? 我意识到我可以使用validation的submitHandler属性,如果有必要,我会去那条路。 但由于validation和确认(或任何其他提交处理程序)实际上是独立的函数,因此在某些表单使用validation的情况下,必须更改所有表单提交处理程序以处理JQueryvalidation插件似乎是一种遗憾。

如果用户在页面加载完成之前离开页面,则会触发jQuery ajaxError()处理程序

我们使用jQuery的全局ajaxError()处理程序来警告用户任何AJAX失败: $(document).ajaxError(function() { $(“There was a network or server error. Please try again later.”).dialog({ title: “Error”, modal: true, resizable: false, buttons: { ‘Ok’: function() { (this).dialog(“close”); } } }); }); 不幸的是,如果用户在完成加载之前离开页面,也会触发此全局error handling程序。 以下是重现错误的步骤: 用户访问页面A,其中包含通过AJAX加载的元素。 页面A上的AJAX元素开始加载。 在页面A上的AJAX元素完成加载之前,用户单击链接以访问页面B. 在浏览器重定向到页面B之前,会短暂显示错误对话框。 知道如何在访问新页面的用户直接导致错误时触发ajaxError()吗? 更新:这里是我的代码,在结合评论中的建议后: // I added a 3 second delay to our error dialog, enough time // for the […]