Tag: 绑定

Jquery同时附加和绑定的问题

我正在为我的网站制作一个精细的下拉选择解决方案。 我制作了一个Click Here!链接。 点击它我调用一个popup()函数。 $(“.popper”).click(function() { popup($(this)); }); 在popup()函数中我检查是否已经打开了? 没有? 让我们做一个div并用fillwiththings()填充它。 function popup(where) { if (where.hasClass(“on”)) { where.removeClass(“on”); where.next(“div”).remove(); } else { where.addClass(“on”); fillwiththings(where); } } function selectclose(where) { var nameval = $(this).attr(“name”); var textval = $(this).text(); where.attr(“name”, nameval); where.text(textval); where.removeClass(“on”); where.next(“div”).remove(); } function fillwiththings(where, id) { $container = $(”) for (i = 0; i […]

如何为hoverIntent绑定多个事件处理程序?

我在其中一个js文件中有以下代码 $(‘#elementID’).hoverIntent({ over: function() {//function#1 body}, out: function() {// function#2 body} }); 在我的另一个js文件中,我想为hoverIntent添加另一个方法。 但新绑定会覆盖前一个绑定,只会执行新绑定。 $(‘#elementID’).hoverIntent({ over: function() {//function#3 body} }); 所以我希望在hover时执行function#1和function#3。 是否可以使用hoverIntent? 如果没有,请你指点我另一个方向,所以我能做到吗? 注意:我无权更改第一个文件。 我只是想为hover添加额外的function。 谢谢。

jquery rebind()禁用特定时间的事件,然后重新绑定它们

单击按钮后,我的脚本会加载新内容。 只要它正在加载我就不希望可点击的元素列表。 有没有办法取消绑定这些元素的点击事件,加载内容,然后正确“重新绑定”事件? 我想要阻止的是每个click-function / element中的if语句。 这是我尝试过的: $(load_button).click(function(){ $(‘a’).each(function(){ var dis_e = $(this).data(‘events’); $(this).data(‘disabled-events’, dis_e); }).unbind(‘click’); $(some_content).load(function(){ $(‘a’).each(function(){ var dis_e = $(this).data(‘disabled-events’); $(this).removeData(‘disabled-events’); $(this).bind(‘click’, dis_e); }); }); }); 更新: 它还应该防止元素(在这种情况下)警告“点击”: $(‘a’).click(function(){ alert(‘click’); });

jQuery,AJAXed内容失去了它的绑定

所以想象一下这个场景,我有一个列表,它有一些分页,当用户点击下一个,链接被jQuery劫持,它使用$.ajax函数(我在下面提供)去并获取下一页内容并将其显示在原始容器中。 这包括分页链接以及我们希望它们也更新。 第一页更改工作正常,但在此阶段我们已经失去了link元素和jQuery规则之间的绑定: $(‘#paging a’).click(function(event) { event.preventDefault(); getElementContents(‘#target_container’,”,$(this).attr(‘href’),false); // arguements are (target element, data (for $ajax), url (for $ajax), highlight) }); 我有什么选择来维护事件和函数之间的绑定? 作为参考,这是$.ajax包装函数: var ajax_count = 0; function getElementContents(target,data,url,highlight) { if(url==null) { url=’/’; } if(data==null) { var data=new Array(); } if(highlight==null || highlight==true) { highlight=true; } else { highlight=false; } $.ajax({ url: url, data: data, […]

jquery绑定提交事件 – 查找调用者

我怎样才能找到绑定事件的调用者/发件人。 $(this).bind(“submit”, function(caller) { … }); 我发现我可以使用“caller.originalEvent.explicitOriginalTarget”,但这仅适用于firefox。 编辑: 我正在使用来自position-relative.net的jqueryvalidation库我想让它如果一个按钮在发送者上有一个名为“bypass”的类,这使得validation引擎只返回true,因此可以提交表单。 即我正在使用ASP.NET,所有按钮按下都是回发(表单提交)。 我只是想做一个后退按钮。 我添加了这段代码 if ((caller.originalEvent.explicitOriginalTarget != null) && (caller.originalEvent.explicitOriginalTarget.className == “bypass”)) { return true; } 在第71行,就在这条线下 $(this).bind(“submit”, function(caller) { // ON FORM SUBMIT, CONTROL AJAX FUNCTION IF SPECIFIED ON DOCUMENT READY 意见和建议表示赞赏。 谢谢

无法重新绑定滚动事件?

我想在ajax调用中重新绑定窗口滚动事件 $(window).scroll(function(){ column_height = $(“#first_column”).height(); screenTop = $(window).scrollTop(); window_height = $(window).height(); if((screenTop+window_height)>=column_height){ $(window).unbind(‘scroll’); $.ajax({ url: “/service/article_json.php”, type: ‘GET’, async: false, cache: false, timeout: 30000, error: function(){ return true; }, success: function(data){ $.each($.parseJSON(data), function(key,item) { //Add content to #first_column $(window).bind(‘scroll’); }); } }); } }); $(window).bind(‘scroll’); 似乎不起作用。

Jquery:将更改绑定到多个复选框

对于一点背景,我有多个复选框,每个复选框都有不同的“分数”。 当复选框被更改时,我需要计算分数。 我认为类似下面的内容会起作用,但它看起来并不像.change事件被正确绑定。 $(document).ready(function() { bindSomeCheckboxes(); }); function bindSomeCheckboxes() { var score=0; var checkboxes = { “id_1” : 3, “id_2” : 1, “id_3” : 2, “id_4” : 5 }; $.each(checkboxes, function(key, value) { $(“#”+key).change(function(key,value) { if ($(“#”+key).is(‘:checked’)) { //add this ids value to score } else { //subtract value from score } }); }); } […]

绑定到焦点上的输入并单击时,防止函数触发两次

我试图在click和focus触发一个事件,但是我只希望它发射一次。 当我在输入内部单击时,它会触发两次(单击并聚焦)。 我怎么能阻止这个? $(‘input’).on(‘focus click’, function(){ console.log(‘fired’); });

触发事件的jQuery绑定事件

我正在调用下面的第一个函数将第二个函数绑定到onClick事件。 奇怪的是,调用第一个函数会导致触发第二个函数。 第一个函数中的LinkName参数是表td元素的名称 – 可能不相关。 function EnableExpand(LinkName, i) { $(LinkName).addClass(“link-text”); $(LinkName).bind(“onclick”, ExpandFrame(LinkName, i)); } function ExpandFrame(lName, i) { $(“#mapFrame” + i).attr({ height: 500, width: 800 }); }

在jQuery中将事件绑定到自定义插件函数

如何修改我的插件以允许加载呼叫中的事件? 现在,当页面加载时,插件正在加载,我希望它与.blur()或我想要分配它的任何事件一起使用。 任何帮助,将不胜感激: // The Plugin (function($) { $.fn.required = function() { return this.each(function() { var $this = $(this), $li = $this.closest(“li”); if(!$this.val() || $this.val() == “- Select One -“) { console.log(‘test’); if (!$this.next(“.validationError”).length) { $li.addClass(“errorBg”); $this.after(‘err msg’); } } else if($this.val() && /required/.test($this.next().text()) === true) { $li.removeClass(“errorBg”); $this.next().remove(); } }); } })(jQuery); // The […]