Tag: dhtml

如何禁用页面上的所有按钮和链接,但仍然会发生回发?

我试图阻止用户点击页面上的多个回发导致元素。 换句话说,如果他们点击“继续”提交按钮,他们就不应该在原始请求返回之前导致另一个回发。 我有两个版本的jQuery代码。 也不是我想要的: 此版本将禁用所有回发元素,但这样做会阻止单击元素触发。 为了记录,我不认为.removeAttr(‘onclick’)确实是必需的,但是将其删除似乎并没有改变行为。 $(function() { $(‘a, :button, :submit’).click(function() { var elements = $(‘a, :button, :submit’); elements.attr(‘disabled’, ‘disabled’).removeAttr(‘onclick’); }); }); 此版本禁用所有其他回发元素,但它允许我重复使用单击的相同元素 – 我不希望能够按两次相同的按钮。 $(function() { $(‘a, :button, :submit’).click(function() { var otherelements = $(‘a:not(#’ + $(this).attr(‘id’) + ‘), :button:not(#’ + $(this).attr(‘id’) + ‘), :submit:not(#’ + $(this).attr(‘id’) + ‘)’); elements.attr(‘disabled’, ‘disabled’).removeAttr(‘onclick’); }); }); 我该如何防止这种行为?

通过父级显示内容更改

我在fieldset有DHTML内容。 这包括普通html,嵌套对象(甚至其他字段集),以及input , select和textarea对象的值更改。 如果内容已更改,我想更改字段集的边框。 以下作品: $(‘fieldset[name=qsfs127]’).children(‘input’).change(function(){ $(this).parent(‘fieldset’).css({border:’1px solid red’}); }) 这处理输入; 我可以将它扩展到select和textarea。 问题 : 如何对html更改执行相同的操作? 是否可以通过将当前的html()与存储的html()进行比较来完成所有这些变更跟踪? 如果是(2),是否会处理“撤消”的情况? 编辑:我有一个按钮,ajax上传内容,并保存更改。 然后我删除边框颜色

如果我使用“getElementById”来改变单个对象的CSS样式,我该如何改变inheritance该样式的所有元素?

我见过的所有示例都使用“getElementById”来获取单个元素,然后为该单个元素更改该样式。 我正处于需要使用样式修改页面上所有匹配元素的情况。 我需要改变字体大小,高度和宽度。 我该怎么做,是jQuery需要还是可选的? 我问的原因是因为这个站点不使用jQuery而我宁愿不下载整个库只是为了完成这一件事。 更新作为一个例子,假设我在页面上有几个具有此样式的元素: .outerContact { border: 0px; margin: 7px; float: left; padding: 0px; background: url(/TLSADMIN/UserControls/contactsgrid/trans-shadow.png) no-repeat bottom right; /* Most major browsers other than IE supports transparent shadow. Newer release of IE should be able to support that. */ } .contactLarge{ height: 163px; width: 250px; border: 1px solid #ccc; border-top: 1px solid […]

jquery ui可排序传播动态创建可排序

我希望有一个function,每次我从空白空间中的可排序拖动图像时,都会创建一个新的排序。 如果我将两个图像存储在一个可排序的图像中,那么我可以拖动它们并真正创建新的可排序图像(灰色框)。 现在我希望能够将图像从新创建的灰色框中拖出来,这样如果我放下一个空白区域,就会再创建一个新的灰色框。 这不起作用。 如何将我的uls函数传播给动态创建的uls? 刷新似乎不起作用或我的错误在哪里? 这是我的jsfiddle: http : //jsfiddle.net/Gy74c/6/ $( “ul” ).sortable({opacity:0.4, connectWith: ‘ul’,tolerance:’pointer’,cursor:’move’, dropOnfull: true, stop :function (event,ui){ var positionLeft=ui.position.left; var positionTop=ui.position.top; var overSortable=elementBeingHoveredOver(event.pageX, event.pageY); if (!overSortable){ var x=$ (“”); $(x).css(‘position’,’absolute’); $(x).css(‘left’,positionLeft); $(x).css(‘top’,positionTop); $(x).css(‘height’,’70px’); ui.item.appendTo(x); $(x).sortable({connectWith: ‘ul’}) x.appendTo(‘#images’); $(‘#images’).append(x); $( “ul” ).sortable({ connectWith: ‘ul’}); $(“ul”).sortable(‘refresh’); } currentID=$(this).attr(‘id’); var liNumber=document.getElementById(currentID).getElementsByTagName(“li”).length; if (liNumber==0 &&!currentID==”sortable1″){document.getElementById(currentID).style.visibility= “hidden”} […]

”,该函数应该仍然返回false?" >

使用jQuery的animate(),如果点击的元素是“ ”,该函数应该仍然返回false?

我正在阅读jQuery的animate()页面 http://api.jquery.com/animate/ 它的例子没有提到是否使用 click me … $(‘#clickme’).click(function() { $(‘#someDiv’).animate({left: “+=60”}); }) 我们实际上仍然需要像过去那样回归虚假? $(‘#clickme’).click(function() { $(‘#someDiv’).animate({left: “+=60”}); return false; }) (但是,那些例子没有使用作为“点击我”…但是使用了别的东西。 否则页面会跳回到页面的开头? jQuery有更优雅或神奇的方式吗?

IE中的表的jQuery UI性能问题

我在获取UI代码以便在IE中执行时遇到了问题。 我有一张桌子 – 价值矩阵。 每个单元格可以为空或包含项目列表。 我希望用户能够在单元格之间拖动项目。 所以我的HTML看起来像这样: col 1col 2 row 1 item A item B row 2 item C item D 然后我使用jQuery 1.3.1和jQuery UI 1.6rc6: $j(‘.draggable-item’).each(function() { $j(this).draggable({ addClasses: false, revert: true, zIndex: 2000, cursor: ‘move’ }); }); $j(‘.droppable-cell’).each(function() { $j(this).droppable({ addClasses: false, activeClass: ‘droppable-cell-candrop’, hoverClass: ‘droppable-cell-hover’, tolerance: ‘pointer’, drop: function(event, ui) { //function […]

跨窗口的javascript事件

我正在启动一个带有window.open(…)的弹出窗口,我将一个elementId传递给新的弹出窗口。 然后在弹出窗口启动期间,我在开启窗口中找到与传递给弹出窗口的elementId匹配的元素。 然后弹出窗口使用jQuery.bind(…)订阅该元素上的事件。 然后从开启窗口内部我使用jQuery.trigger(…)触发这些事件,我也尝试了triggerHandlers。 问题是我的弹出窗口的eventHandler永远不会被调用。 我可以在开启窗口内部订阅事件没问题。 但是,当我从弹出窗口尝试时,它不起作用。 有没有人对如何解决这个问题有任何想法? 这是某种安全描述吗? 非常感谢阅读!

表到jquery中的水平条形图

我有一张桌子: 1-joe-234 2-bob-432 3-sean-654 我想拿它并用它制作一个条形图。 并不是网上没有lib,而是原型或flash xml文件。 – 我正在研究的解决方案是一个jquery插件,它将为谷歌图表生成一个html链接…不是很漂亮,但KISS(非常简单)和丑陋。 – 这是我的灵感之一: http : //www.dumpsterdoggy.com/articles/? jquery -horizo​​ntal-bar -graph

jQuery启用/禁用显示/隐藏按钮w / SELECT选项。 获取剩余的期权值

我有一个选择列表,使用文本字段中的值填充。 我还有两个按钮:一个添加按钮,用于将输入的值添加到选择列表,还有一个删除按钮,用于从选择列表中删除输入的值。 我想使用jQuery执行以下操作: 如果在选择列表中输入到文本字段中的值不可用,则显示添加按钮并隐藏删除按钮。 如果在选择列表中输入文本字段的值为AVAILABLE ,则隐藏添加按钮并显示删除按钮。 如果选择列表为EMPTY,则显示添加按钮并隐藏删除按钮。 以下是我提出的一些代码: // Remove selected options $(‘#removeButton’).click(function() { //$.map($(‘#addedchargeamtid :selected’), function(e) { $.map($(‘#addedchargeamtid option’), function(e) { var exp = $(e).text(); // Would like to have all the Option values in CVS format 0.00,1.99, etc… // If removed this should also remove the value in the array }) $(‘#removeButton’).hide(); return […]

jQuery并附加大量HTML

我发现如果正确完成,使用jQuery创建HTML客户端可以成为一个巨大的性能助推器。 我使用AJAX返回JSON来检索动态内容,然后我构建相关的HTML并使用jQuery插入它。 我第一次搞砸这种技术时发现IE的JavaScript中的字符串连接器执行得非常慢,因此构建一个超过50行的动态表执行得非常糟糕。 var shtml = ”; for (var i = 0; i < 100; i++) { shtml += 'A bunch of content’; } shtml += ”; $(‘#myTable’).append(shtml); 然后我找到了一种用于字符串连接的技术,它改变了一切。 而不是使用sting +=运算符使用数组来进行连接; var shtml = [”]; for (var i = 0; i < 100; i++) { shtml.push('A bunch of content’); } shtml.push(”); $(‘#myTable’).append(shtml.join(”)); 我发现性能显着提高。 然而,现在,在我开始看到浏览器本身一次性动态插入如此多的内容之前,存在大约100行的上限。 有没有人有任何指针或技术可以帮助我实现大型动态HTML的下一个性能提升?