Tag: 绑定

使用jQuery将播放/暂停/结束function绑定到HTML5video

我试图使用jQuery绑定play / pause和ended事件,但有一个问题: 当我右键单击video并选择播放或暂停时,图标会正确更改。 当我单击播放按钮时,它会更改为暂停,但如果我单击暂停按钮继续播放video,则它不会更改为再次播放。 谁能告诉我哪里出错了? 这是我的代码: var PlayVideo = function () { if ($(‘#video’).attr(‘paused’) == false) { $(‘#video’).get(0).pause(); } else { $(‘#video’).get(0).play(); } }; $(‘#playbtn’).click(PlayVideo); $(‘#video’).click(PlayVideo); $(‘#video’).bind(‘play’, function () { $(‘.playbtn’).addClass(‘pausebtn’); }); $(‘#video’).bind(‘pause’, function () { $(‘.playbtn’).removeClass(‘pausebtn’); }); $(‘#video’).bind(‘ended’, function () { $(‘.playbtn’).removeClass(‘pausebtn’); }); CSS: .playbtn { display: block; width: 32px; height: 32px; margin-left: […]

jQuery.live()不在插件中工作

我正在编写插件,需要实时绑定点击。 当我执行普通的单击绑定时插件工作正常,但不是实时绑定。 我把插件简化为基础知识: (function($) { $.fn.liveBindTest = function() { return this.each(function() { $(this).live(‘click’, function(){ console.log(‘live click’); return false; }); $(this).click(function(){ console.log(‘click’); return false; }); }); }; })(jQuery); 当我在链接上调用插件函数时,只有click打印到我的控制台。 我必须做什么才能让live()工作? 谢谢。

有没有办法将命令绑定到fadeIn事件而不必.trigger(’fadeIn’)?

我有一个具有不同模块的交互式表单系统,其中每个模块的表单包含在不同的div元素中。 当我从一个模块更改为另一个模块时,我经常这样做: $(‘#module_1’).hide(); $(‘#module_2’).fadeIn(); 我喜欢这个,但是现在,在开发这个系统一段时间之后,我有一些函数(比如重新初始化jqgrid),我想在每次fadeIn发生时发生。 我这样设置: $(‘#module_2’).bind(‘fadeIn’,function(){ initialize_jqgrid(); }); 有没有办法让我能为$(‘#module_2’).fadeIn();所有实例工作$(‘#module_2’).fadeIn(); 无需去每个实例并用它替换它? $(‘#module_2’).fadeIn().trigger(‘fadeIn’); 这背后的动机就是拥有更清晰的代码, $(‘#module_2’).fadeIn().trigger(‘fadeIn’); 有点多余。 非常感谢!

AJAX之后jQuery日期选择器不能持久化

所以我正在使用jQuery日期选择器,它运行良好。 我正在使用AJAX来获取一些内容,显然当应用这个新内容时,绑定会丢失,我上周了解到这一点并发现了.live()方法。 但是如何将它应用到我的日期选择器? 因为这不是一个事件因此.live()将无法帮助……对吗? 这是我用来将日期选择器绑定到我的输入的代码: $(“.datefield”).datepicker({showAnim:’fadeIn’,dateFormat:’dd/mm/yy’,changeMonth:true,changeYear:true}); 每次我的AJAX触发时我都不想调用这个方法,因为我希望尽可能保持通用。 干杯:-) 编辑 正如@nick所要求的,下面是我的包装函数得到了ajax()方法: var ajax_count = 0; function getElementContents(options) { if(options.type===null) { options.type=”GET”; } if(options.data===null) { options.data={}; } if(options.url===null) { options.url=’/’; } if(options.cache===null) { options.cace=false; } if(options.highlight===null || options.highlight===true) { options.highlight=true; } else { options.highlight=false; } $.ajax({ type: options.type, url: options.url, data: options.data, beforeSend: function() { /* if […]

无法将click事件绑定到新创建的span项(jQuery)

我无法将事件绑定到由jQuery生成的列表。 我看过一些类似的问题,但没有找到任何解决方案。 这是生成我的列表的代码: var list = ”; for (var i = 0; i < data.length; i++) { list += '’ + data[i].name + ”; } list += ”; jQuery(“#spanContainer”).html(list); 这创建了我想要的列表。 效果很好。 但我无法通过jQuery操纵列表。 一些研究指出我将事件绑定到我的列表的方向。 我怎么做? 我看了几个有相同问题的post,但没有找到解决我问题的任何内容。 我正在使用jQuery 1.2.6并且不能使用v.1.3(具有.livefunction)。 资源: docs.jquery.com/Events/bind 编辑:我试过这个,但它没有用。 jQuery(“#7276”)。bind(“click”,function(){alert(’test’);}) 这个html输出: Main item Test item 4

JQuery将click事件绑定到复选框

这是我的html的基本视图: // some html form elements including checkboxes // more html code with more checkboxes // data table with numerous checkboxes built dynamically </div 我需要做的是将.click()事件分别绑定到第1部分,第2部分和第3部分中的复选框。 我已经尝试过这个$(‘#part1:checkbox’).click(…)但是没有用。 如果我使用$(“form :checkbox”).click(…)相同的单击事件绑定到所有复选框而不只是一组。 我怎么分开这些?

单击并按住以滚动,touchstart,touchmove,touchend

我有一个可滚动的div。 我希望人们能够通过“保持”滚动列表,并选择一个按钮进行点击。 问题是当按住按钮以滚动div时,它会触发点击function。 我想滚动时不要触发。 我需要一些方法来区分保持function的点击。 所以我正在使用: $(‘.panel’).bind(“touchstart mousedown”, function (e) { console.log(e.type); $(this).addClass(‘resize’); }).bind(“touchmove mousemove”, function (e) { $(this).removeClass(‘resize’); }).bind(“touchend mouseup”, function (e) { $(this).removeClass(‘resize’); $(‘.panel’).addClass(‘flip’); }); 我想到了以下解决方案。 当’.panel’被mousedown超过500 ms ,按钮激活,按下: $(this).addClass(‘resize’); 当’.panel’是mouseup ,按钮返回正常状态,然后所有按钮进行输出移动: $(this).removeClass(‘resize’); $(‘.panel’).addClass(‘flip’); 但是,如果用户mousedown ,则mousedown和mouseup操作将被取消。 只是不知道如何将其付诸实践 与此类似: http : //m.microsoft.com/windowsphone/en-us/demo/default.aspx 请建议。

用xml填充jQuery UI手风琴,绑定问题

我从简单的xml文件中填充jQuery手风琴,我可以获取我的数据并将其作为html附加到模拟手风琴标记。 然后我打电话给手风琴,它将无法工作! 我想问题是将新创建的数据绑定到DOM,我已经尝试过.live()和.delegate但没有成功。 我该怎么办? 这是我的代码的简化示例(抱歉,一些名称和评论是芬兰语:-))这里是链接http://www.equstom.fi/hanuri.html $(‘#valitsija’).click(function() { $.get(‘http://www.equstom.fi/kurssit.xml’, function(data) { $(‘#accordion’).empty(); $(data).find(‘Kurssi’).each(function() { var $kurssi = $(this); var html = ”; html += ” + $kurssi.find(‘KurssinNimi’).text() + ”; html += ” + $kurssi.find(‘KurssiKuvaus’).text() + ”; html += ”; $(‘#accordion’).append($(html)); }); }); }); / * * ** * ** * ** * haetaankurssit loppu * ** […]

jQuery forms.js ajaxSubmit执行后的默认表单提交行为

我正在使用jQuery Form Plugin将两个表单的提交事件绑定在同一页面上,以便将它们提交给单独的PHP脚本,这些脚本将标记返回到页面上的单独div。 一种forms刷新下一个。 我使用“live”,因此每个表单在刷新时都会重新绑定事件: $(document).ready(function() { /* Form 1 */ $(‘#frmSearch’).live(‘submit’, function() { $(this).ajaxSubmit({ target: ‘#divResults’, url: ‘search_div.php’ }); return false; }); /* Form 2 */ $(‘#frmResults’).live(‘submit’, function() { $(this).ajaxSubmit({ target: ‘#divLookup’, url: ‘lookup_div.php’, }); return false; }); }); 到现在为止还挺好。 每个表单都可以使用ajax一次又一次地提交,并且所有绑定都可以从一个提交到下一个提交。 当我尝试绑定第三个表单并在第二个表单的“success”选项中触发其提交事件时,会出现问题: /* Form 2 */ $(‘#frmResults’).live(‘submit’, function() { $(this).ajaxSubmit({ target: ‘#divLookup’, url: ‘lookup_div.php’, […]

为什么jquery ui对话框会破坏asp.net mvc的默认模型绑定。

我刚刚参加了演示jquery UI对话框(模型对话框)示例,并尝试将其包含在我的asp.net mvc项目中,我观察到一些奇怪的东西。 如果你有一个jquery ui对话框div标签内的内容,默认模型绑定器不会在发布到服务器期间拾取它,因为它从表单中删除这些元素 完整视图代码如下。 如果您在底部看到,则有对话框内容的部分: <div id="dialog" 问题是在我的表格“div对话框”中,还有一些输入映射到我的绑定数据对象字段。 当我在调试期间查看我的控制器动作时,这些在发布后都是空的。 jquery ui对话框js代码可以做什么,当它作为代码在表单元素内部发布时,它将从默认模型绑定器“scope”中删除它? Javascript代码: $(function() { $(“#dialog”).dialog({ bgiframe: true, autoOpen: false, height: 500, width: 500, modal: true, buttons: { ‘Create an account’: function() { HTML代码 Name Email Details John Doe john.doe@example.com Locations: Submit