Tag: dom

使用javascript按需强制DOM重绘

问题的标题表达了我认为是我的具体案例背后的最终问题。 我的情况:在一个点击处理程序中,我想在繁忙的函数开始之前使图像可见(一个’加载’动画)。 然后我想在函数完成后再次使它不可见。 而不是我所期望的,我意识到图像永远不会变得可见。 我猜这是由于浏览器等待处理程序结束,然后才能进行任何重绘(我确信有很好的性能原因)。 代码(也在这个小提琴: http : //jsfiddle.net/JLmh4/2/ ) HTML: click to see the cat JS: $(document).ready(function(){ $(‘#enlace’).click(function(){ var kitty = $(‘#kitty’); kitty.css(‘display’,’block’); // see: http://unixpapa.com/js/sleep.html function sleepStupidly(usec) { var endtime= new Date().getTime() + usec; while (new Date().getTime() < endtime) ; } // simulates bussy proccess, calling some function… sleepStupidly(4000); // when this triggers […]

检查DOM元素是否为复选框

如何检查给定的DOM元素是否为复选框。 场景: 我有一组文本框和复选框,其中的值是动态分配的。 我没有办法确定DOM元素是复选框还是文本框。

我可以围绕数组中的元素集合$ .wrap()吗?

假设我有一系列“项目”,如下所示: Item 1 Item 2 Item 3 Item 4 Item 5 我想循环遍历项目并将包含div的任何具有’group’类的内容包装起来以产生类似这样的内容(分组项目将始终紧挨着彼此): Item 1 Item 2 Item 3 Item 4 Item 5 这是我得到的脚本: var group = []; $(‘.item’).each(function(i, item){ if( $(item).hasClass(‘group’) ) { group.push(item); } }); $(group).wrap(”); 会发生的事情是包装div在数组中分别缠绕在每个元素周围(这是有道理的)但我需要它将所有元素包装在一起。 有什么方法可以做到这一点吗? 这是一个jsFiddle 。 编辑:这个问题有一个更复杂的变化是可能的,这将是这些组中有几个“集合”的情况,每个集合都包含在他们自己的“组”div中。 初始状态: Item 1 Item 2 Item 3 Item 4 Item 5 Item 6 […]

jQuery Cleditor wysiwyg文本编辑器:keyup()适用于webkit浏览器,但不适用于Firefox或IE

我正在尝试跟进之前的Stackoverflow问题,该问题涉及如何在外部HTML元素(如 显示Cleditor文本框中的内容。 这是在webkit浏览器中解决我的问题而不是Firefox或IE 的问题和小提琴 : 这是小提琴的代码: $(“#input”).cleditor(); $(“.cleditorMain iframe”).contents().find(‘body’).bind(‘keyup’,function(){ var v = $(this).text(); // or .html() if desired $(‘#x’).html(v); }); 我已经阅读了从jquery获取iframe的内容 ,我需要使用“window.top ….访问主页并以这种方式传递它,因为所有浏览器都不支持.contents()”但我不是确定如何使用window.top为此目的,并希望有人可能能够阐明这个主题。

当你删除()一个元素并将它追加到其他地方时,jQuery中的事件是否会丢失?

当你删除()一个元素并在其他地方附加()时,jQuery会发生什么? 看起来这些事件是不被取消的 – 好像你只是插入了新的html(我猜这是发生了什么)。 但它也可能我的代码中有一个错误 – 所以我只想在继续之前validation这种行为。 如果是这种情况 – 是否有任何简单的方法可以将事件重新连接到HTML的那一部分,或者以不同的方式移动元素而不会丢失事件。

输入火柴按钮事件两次

这个问题之前已被提及/回答(大多数情况下),但我已经尝试了三件事来阻止事件冒泡但没有任何效果: return false; e.stopPropagation(); e.preventDefault(); (返回false应该照顾其他两个,对吗?) 这是html: <input type="text" class="addField" id="addField_” placeholder=”add a new tag”> 和JS(更新清理): $(‘.addField’).show().keyup(function(event){ event.preventDefault(); if(event.keyCode == 13 || event.keyCode==9) { ProfilePage.createTag( this, ‘nada’, ‘addField’) $(this).hide().val(”); return false; } }); 我把多余的塞子留在那里,但真的不应该回复假只是杀死冒泡? (使用Chrome)。 线索? keyCode = 13是“Enter”

chrome扩展删除脚本标记

我到处试图找到这个问题的答案。 我希望我的扩展能够禁用页面上的所有javascript但允许插入一个有效的脚本。 (所以chrome.contentSettings.javascript现在不是一个有效的选项)或者我想要一种方法来删除它们中的任何一个之前的所有脚本标签(这有点相同) 我尝试将内容脚本插入runat:document_start但当时dom并不完全存在。 itried在加载状态时在tabs.onUpdate上添加了一个事件,但是为时已晚,以及document_end上的内容脚本(所有这些脚本都试图删除脚本标记),但现在还为时已晚。 在绝望的行为中,我试图改变element.innerHTML的getter和setter的行为。 删除标签但不起作用 我试图避免向location.href发送xhr请求并解析和重新设置内容,因为它太密集了。 有任何想法吗?

Jquery:DOM加载后的fadeIn图像。 有时工作..?

//fade in images after the image has loaded.. $(document).ready(function(){ $(“.image_ad”).hide().bind(“load”, function () { $(this).fadeIn(400); }); }); 如果有人有任何意见,这将是伟大的。 我写这篇是为了避免在页面上看图像加载,我更喜欢加载页面然后当每个图像准备就绪时它们很好地淡入。 问题是,有时一些图像永远不会加载,点击刷新会纠正这个,但我宁愿把它完美,并询问是否有人知道为什么。 我有一种感觉,有时dom在脚本运行时没有完全加载,我知道它在文档中。但是它可能是有可能的…… 再次感谢。 感谢所有的答复! 今晚我会玩这些片段并发回我发现有用的片段。 再次,你的答案非常感谢。 如下所示,这似乎对我的需求非常有效。 感谢大家。 $(document).ready(function(){ $(“.gallery_image”).hide().not(function() { return this.complete && $(this).fadeIn(100); }).bind(“load”, function () { $(this).fadeIn(100); }); }); 还有一件事,我不喜欢不完整的post所以…… 我发现这在Firefox 3.6.12中不起作用。 我会看看这个。

在视觉上和DOM上交换两个HTML元素,并为它设置动画?

是否有可能在jQuery中交换两个容器的位置 – 在视觉上和在DOM中,还可以为结果设置动画? 我有: Up Up Up 单击该链接将该div的位置与上面的位置交换。 大多数示例使用绝对定位并偏移top属性来实现此目的……但是当用户在其他地方调用函数时,我需要按照屏幕上显示的顺序读取数据。 所以我想出了这个: $(‘#container div’).on(‘click’, ‘.moveUp’, function() { divInQuestion = $(this).closest(‘div’).attr(‘id’); //id of this div if (divInQuestion > ‘1’) { switchWithDiv = divInQuestion – 1; //id of other div firstSelector = $(‘#chapterset-‘+divInQuestion).html(); //save contents of each div. I actually don’t secondSelector = $(‘#chapterset-‘+switchWithDiv).html(); //do it this way, I […]

jQuery clear DOM以前加载的脚本

美好的一天,我正在开发一个项目,我使用jQuery将页面加载到div中,每个页面都有自己的jQuery脚本,我的问题是以前加载的脚本没有从DOM中清除,这给我的项目带来了更大的问题。 例如,我在一个页面中有一组定时器,它自动保存数据,但是当我更改页面时,定时器仍在运行并弄乱内容。 我管理这样的更改页面: $(document).ready(function() { $(‘li’).click(function (event) { $(‘.progressbarone’).hide(); var theitem = this.id; //isf ajax to load with addon var thefile = “isf_ajax.php?addon=”+this.id; var progress = ”; // pre actions $(‘.’+ theitem +’_item’) .append(progress) .children(‘:last’) .hide() .fadeIn(1000); $(‘li’).removeClass(‘active’); $(this).addClass(‘active’); // load the page $(‘#childpage’).remove(); $(‘#officetable’).html(‘loading’); $(‘#childpage’).load(thefile, function() { // after load actions $(‘.progressbarone’).fadeOut(2000); }); }); […]