小编ayy*_*yyp的帖子

Jquery .on与.live

我知道.live()现在已经弃用但我似乎无法改变它并保留功能.

我只是对.on()jQuery中的函数有一个快速的问题.我现在在这里使用.live()

像这样:

$('table tr th').live("click", function() {
});
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试.live().on()它替换它不再像它应该的那样工作时.

我试过投入

$('table tr th').on("click", function() {
});
Run Code Online (Sandbox Code Playgroud)

以及

$('table tr').live("click", "th", function() {
});
Run Code Online (Sandbox Code Playgroud)

$('table tr').delegate("th", "click", function() {
});
Run Code Online (Sandbox Code Playgroud)

但无济于事.

为什么这样做以及我可以采取哪些步骤使其正常工作?

jquery

24
推荐指数
2
解决办法
1万
查看次数

jQuery动画scrollTop

section在div中有很多标签,溢出设置为hidden.代码是这样的:


<div id="viewport">
   <section>
      content
   </section>
   <section>
      content
   </section>
</div>
Run Code Online (Sandbox Code Playgroud)

我把它设置为这样,因为我希望能够在菜单中按下相应链接时滚动浏览sections包含内容div.我有这个功能:


$('#mn a').click(function(){
   var aHref = $(this).attr("href");
   var sectionHeight = $('section'+aHref+'').height();
   $('#viewport').height(sectionHeight);
});
Run Code Online (Sandbox Code Playgroud)

我用它来调整#viewportdiv的大小,因为sections它们的大小不同.当我尝试将此滚动部分放入该函数时:


$('body,html').animate({scrollTop: $(aHref).offset().top}, 800);
Run Code Online (Sandbox Code Playgroud)

它使整个页面滚动.当我尝试$('body,html')$('section, #viewport')它替换它时,在div内部滚动,但它没有正确地执行.

在这里有一个实例.我认为这与.offset()我传入的内容有什么关系.animate(),但是我尝试了很多不同的东西,但无济于事.有人可以指出我正确的方向或告诉我我做错了什么?

javascript jquery animation scrolltop

15
推荐指数
2
解决办法
3万
查看次数

阻止点击儿童解雇父点击事件

我有一个选择器绑定一个将删除弹出窗口的单击事件.但是,我只希望选择器处理单击,而不是选择器的子节点才能触发单击事件.

我的代码:

<div id="popup">
  <div class="popup-content">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum …
Run Code Online (Sandbox Code Playgroud)

jquery click

12
推荐指数
2
解决办法
2万
查看次数

按字母顺序排序JSON

我有一个基于存储在表中的数据生成的JSON对象.然后我需要能够以不同的方式对它进行排序,但是当我这样做JSON.stringify(array)并尝试从那里排序它不起作用.当我尝试做array.sort();它会改变顺序,但最终不起作用.我对JSON没有太多经验以及如何操作它所以我不知道还有什么可以尝试.排序之后,我需要按字母顺序重复使用所选类别的表格.

JSON看起来像这样:

var arr = [{
"Functional Category":"T-Shirt",
"Brand Name":"threadless",
"When Obtained":"Last 3 Months",
"How Obtained":"Purchased",
"How Often Worn":"Monthly",
"Where It's Made":"India",
"Has a Graphic":"Yes"}]
Run Code Online (Sandbox Code Playgroud)

我在这里有一个小提琴设置:http://jsfiddle.net/Skooljester/88HVZ/1/我已经尝试过这里建议但是无法使它工作.

我有两个问题,一个问题:如何实现这一目标,以及两个问题:是否有更好的方法进行排序?

jquery json

8
推荐指数
3
解决办法
2万
查看次数

jQuery(2.0.2)empty()html()内存消耗不断增长

我已经在这个问题上苦苦挣扎了3天了,我希望有人能提供一些我尚未遇到的信息,以帮助我(我很绝望!).提供一些背景信息:

浏览器:IE9.0.8112.16421(64位); jQuery版本:2.0.2

基本上我正在做的是做一个简单的ajax调用并检索一些信息,然后我通过成功处理程序插入一个元素.相关的代码行如下所示:

var onLoadViewGroupSuccess = function(data) {        
    var target = $("#viewGroupContent");
    //for(var i=0;i<1000;i++) {
        target.empty().html(data);
    //}
}
Run Code Online (Sandbox Code Playgroud)

目标对应于以下html标记:

<tr id="viewGroupContent">...</tr>
Run Code Online (Sandbox Code Playgroud)

上面注释掉的for循环旨在放大问题(通过单个事件点击触发器很难检测到).基本上当循环到位时,单个调用的内存从46MB到113MB.

随后的调用表现出相同的行为,内存不断增长.我最初认为这是一个问题与一些事件处理程序,我无法清理,但由于我几乎注释掉了我的所有javascript逻辑,所以我已经注释了这一点,所以上面的内容基本上就是所有(即没有绑定事件处理程序,没有自定义对象或函数)调用) - 即不是关闭问题.

在ajax调用之外移动for循环(因此进行1000个ajax调用)会产生相同的内存配置文件(因此排除了任何模糊的ajax内存泄漏).我插入的内容是一个TD标签,其中包含大量内容(即您可以想到包含图像的每个HTML标签的实例),因此想知道我插入的内容是否以某种方式对泄漏负责.

我已经阅读了一些有趣的博客帖子,关于IE的自我清理能力,包括以下似乎最有前途的(http://com.hemiola.com/2009/11/23/memory-leaks-in-ie8/).不幸的是,迄今为止没有解决方案或解决方法.

我不知所措,因为我已经将我的应用程序剥离到了裸露的骨头,而且你可以做的并不多$(...).empty().html(...).内存泄漏缓慢但持久......

另外,作为一个FYI,我尝试了使用innerHTML,DOM方法的非jQuery解决方案来删除表行并重建它,然后将ajax内容插入表格单元格,将丢弃的内容移动到垃圾箱DIV,然后调用innerHTML一切都无济于事,在许多情况下使泄漏更严重......

memory performance jquery memory-leaks

8
推荐指数
1
解决办法
408
查看次数

用左/右幻灯片显示/隐藏div

我在这里尝试了这个:http://jsfiddle.net/92HXT/1/但它不起作用.它只适用于我使用show("slow")/ hide("slow").

谢谢.

jquery jquery-ui

7
推荐指数
1
解决办法
7万
查看次数

将表转换为数组

我已经看过很多关于如何将数组转换成表格的帖子,但其他方面的数据并不多.我想找个像这样的桌子:


<table id="dataTable">
    <tr>
        <th>Functional Category</th>
        <th>Brand Name</th>
        <th>When Obtained</th>
        <th>How Obtained</th>
        <th>How Often Worn</th>
        <th>Where Made</th>
        <th>Has a Graphic</th>
    </tr>
    <tr>
        <td>T-Shirt</td>
        <td>threadless</td>
        <td>Last 3 Months</td>
        <td>Purchased</td>
        <td>Monthly</td>
        <td>India</td>
        <td>Yes</td>
    </tr>
    <tr>
        <td>T-Shirt</td>
        <td>RVCA</td>
        <td>2 Years Ago</td>
        <td>Purchased</td>
        <td>Bi-Monthly</td>
        <td>Mexico</td>
        <td>Yes</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

进入这样的数组:


var tableData = [
    {
        category: "T-shirt",
        brandName: "threadless",
        whenObtained: "Last 3 Months",
        howObtained: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery html-table

6
推荐指数
2
解决办法
4万
查看次数

jQuery替换标记文本

我试图从元素替换特定的突出显示(标记)文本.

这是我到目前为止获得突出显示的文本的方式:

var markArea = $('.ElementText textarea').get(0);
var text     = markArea.value.substring(markArea.selectionStart, markArea.selectionEnd);
Run Code Online (Sandbox Code Playgroud)

因此,如果我在textarea中有这样的东西:"苹果香蕉苹果橙"并标记第三个单词(苹果)我想要在textarea中完全替换我标记的没有任何其他出现的"apple".

有没有办法指定代码应该在字符串中查找替换的起始区域和结束区域?

javascript jquery replace

6
推荐指数
1
解决办法
539
查看次数

接受命令行参数到Ruby脚本

我正在尝试使用以下代码在文件中接受作为终端中的参数,然后将其读取并body使用其内容更新变量.如果文件没有传入,那么我想要提示用户可以输入自己的正文副本.


require 'posterous'

Posterous.config = {
  'username'  => 'name',
  'password'  => 'pass',
  'api_token' => 'token'
}

include Posterous
@site = Site.primary

#GETS POST TITLE
puts "Post title: "
title = STDIN.gets.chomp()

if defined?(ARGV)
  filename = ARGV.first
end

if (defined?(filename))
  body = File.open(filename)
  body = body.read()
else
  puts "Post body: "
  body = STDIN.gets.chomp()
end
puts body
Run Code Online (Sandbox Code Playgroud)

当我在没有传入文件的情况下运行程序时,我得到了这个:


Post title: 
Hello
posterous.rb:21:in `initialize': can't convert nil into String (TypeError)
    from posterous.rb:21:in `open'
    from posterous.rb:21:in `'
Run Code Online (Sandbox Code Playgroud)

我对红宝石很新,因此不是最好的.我试过交换很多东西并改变一些事情,但无济于事.我究竟做错了什么?

ruby command-line-arguments posterous

4
推荐指数
1
解决办法
7053
查看次数