小编Jor*_*kin的帖子

我知道在DOM中存储数据很糟糕,但为什么呢?

我一遍又一遍地听说"将DOM用作数据库是不好的做法".

虽然我大多同意这种观点,但这个问题更多的是黑白情况.记住jQuery .data()方法和HTML5数据属性规范的最新版本,为方便起见,将一些数据粘贴到DOM中真的很糟糕吗?

例如,我最近通过执行以下操作在一个充满输入的表上实现了"实时"计算功能:

<table>
  <tr>
    <td><input type="text"></td>
  </tr>
  <tr>
    <td><input type="text"></td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('table').bind('calculate',function(){
  var total = 0;
  $(this).find('tr').each(function(){
    total += $(this).data('value');
  });
  // display total
});

$('table input').bind('change keyup',function(){
  $(this).closest('tr').data('value',$(this).val());
  $(this).closest('table').trigger('calculate');
});
Run Code Online (Sandbox Code Playgroud)

这是一个过于简化的示例,因为我可以跳过调用.data()并直接转到输入值,但让我们想象一个稍微复杂的场景,其中输入以外的元素会影响行值.

在这种情况下使用DOM存储简单数据是错误的吗?

javascript jquery dom

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

jQuery为WebKit(chrome)和Firefox中的相同对象返回不同的高度

我被这个困惑了.

jQuery.height()在Firefox和Chrome中返回不同的值.测量屏幕上的像素表示两者中的一个,Chrome似乎报告了正确的值,而firefox每次关闭2或3个像素.还有其他人遇到过这个问题吗?

我尝试使用各种jQuery高度函数(innerHeight,outerHeight,height)来获取高度无济于事.我已经删除了可能干扰高度值(所有填充,边框,边距等)的所有CSS样式,但我仍然得到不一致的结果.

如果它有帮助,我正在处理表格单元格.代码在第一个表旁创建第二个表,然后匹配每行的高度以在表上创建一种"粘性"左侧列.单元格具有不同的内容,但在所有边上匹配边界,填充和边距的0值.

编辑 6小时后,这个问题继续困扰我.

当我修改边框并切换到使用innerHeight()来获得高度测量时,两个浏览器都会完美地渲染它.但我需要在那里找到一个底线...

目前我有webkit完美地渲染带有边框的表格,并且每个单元格上的firefox关闭了1px.我转而使用jQuery的innerHeight()函数来获取'master'表中单元格的高度,但不知何故,firefox总是在测量时出现一个像素.

这是涉及的相关代码.请注意,HTML是由firebug复制的,后者是由javascript生成的,所以高度声明就是在那里进行的.'master'表格HTML:

<table cellpadding="0" border="0" class="items-table">
<tbody>
    <tr class="selected">
        <td itemid="70609" class="id" style="display: none;">
            70609
        </td>
        <td class="thumb">
            <div class="item-thumb">
                <div style="background-image: url(&quot;http://c1263382.cdn.cloudfiles.rackspacecloud.com/2C5D13C6-8A9F-47D9-81B51305D3FF24A9_t.jpg&quot;);" class="item-thumb-image">
                    <img src="http://c1263382.cdn.cloudfiles.rackspacecloud.com/2C5D13C6-8A9F-47D9-81B51305D3FF24A9_t.jpg">
                </div>
            </div>
        </td>
        <td class="details">
            <div class="name">
                <span class="code">R1000</span> <span class="description">Armoire</span>
            </div>
            <div class="itemtype">
                <span>Casegoods</span> <input type="hidden" value="13" name="70609-itemtypeid" id="70609-itemtypeid" class="itemtypeid">
            </div>
        </td>
    </tr>
    <tr class="selected">
        <td itemid="70634" class="id" style="display: none;">
            70634
        </td>
        <td class="thumb">
            <div class="item-thumb">
                <div style="background-image: url(&quot;http://c1263382.cdn.cloudfiles.rackspacecloud.com/29DA825A-0431-49ED-A2614B3544EB50D2_t.jpg&quot;);" class="item-thumb-image">
                    <img src="http://c1263382.cdn.cloudfiles.rackspacecloud.com/29DA825A-0431-49ED-A2614B3544EB50D2_t.jpg">
                </div>
            </div>
        </td>
        <td …
Run Code Online (Sandbox Code Playgroud)

javascript firefox jquery webkit

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

如何在两个结构上进行"深度比较"或"差异"?

(这是一个冷血问题)

我有两个不同的结构,可能包含或不包含相同的数据,我希望能够看到它们是否存在!我的结构将始终包含简单值(数字,字符串或布尔值),因为它们是使用DeserializeJSON创建的,所以希望这可以轻松完成.

我在这里发现了Ben Nadel的帖子,但这种技术似乎对我不起作用.这是我到目前为止所尝试的(其中有一些cfwheels代码):

itemA = DeSerializeJSON(model("itemsnapshot").findByKey(4).json);
itemB = DeSerializeJSON(model("itemsnapshot").findByKey(5).json);

StructDelete(itemA,"updatedAt");
StructDelete(itemB,"updatedAt");
StructDelete(itemA,"createdAt");
StructDelete(itemB,"createdAt");

writedump(itemA);
writedump(itemB);

out = itemA.Equals(itemB);
writedump(out);
Run Code Online (Sandbox Code Playgroud)

结果如下:

Struct
code string C112
companyid number 1
cost number 5000
deletedAt string 
description string Nightstand
id number 70634
itemtypeid string 13
projectid number 8
unittypeid string

Struct
code string C112
companyid number 1
cost number 5000
deletedAt string 
description string Nightstand
id number 70634
itemtypeid string 13
projectid number 8
unittypeid string 

boolean false
Run Code Online (Sandbox Code Playgroud)

因此,正如您将在上面看到的那样,尽管Structs中的数据看起来完全匹配,但它们不会通过Equals()测试.

还有其他人成功完成了吗?

java coldfusion railo cfwheels cfml

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

如何在我的开发环境中管理Scala && SBT的多个版本?

我刚刚完成了令人敬畏的Coursera Scala课程,并渴望通过探索一些现有的开源项目继续学习更多关于Scala的知识.不过,我试图让其中一些在本地运行时遇到了麻烦.

我来自Ruby的背景,我们使用诸如rvmrbenv在一个系统上管理多个Ruby解释器/版本的工具.Scala用户使用不同版本的Scala/SBT的项目采用什么方法?

我怀疑我错过了一些大事,因为这似乎不是一个受欢迎的问题.

请注意,我对Java和JVM一般都是新手.

scala sbt

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

可以在Application变量中存储大对象(例如java组件)吗?

我正在开发一个应用程序,它创建并存储与应用程序范围中的本地XMPP服务器的连接.连接方法存储在cfc中,以确保Application.XMPPConnection在每次使用时都已连接并授权,并利用连接向用户发送实时事件.据我所知,这工作正常.但它没有在任何压力下进行测试.

我的问题是:这个设置会在以后引起问题吗?我只是问,因为我找不到其他人以这种方式使用Application变量的证据.如果我不使用railo,我将使用CF的事件网关来完成相同的任务.

coldfusion railo cfwheels cfml

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

尝试使用Devise设置RSpec时出现#RSpec :: Core :: ExampleGroup :: Nested_1 :: Nested_1:0x1057fd428>的未定义方法`sign_in'错误

我有一个spec/controllers/add_to_carts_spec.rb:

require 'spec_helper'

describe CartItemsController do

  before (:each) do
    @user = Factory(:user)
    sign_in @user
  end

  describe "add stuff to the cart" do
    it "should add a product to the cart" do
      product = FactoryGirl.create(:product)
      visit products_path(product)
      save_and_open_page
      click_on('cart_item_submit')
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

并且/spec/support/spec_helper.rb:

# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rspec'

# Requires supporting ruby files with custom matchers and macros, etc, …
Run Code Online (Sandbox Code Playgroud)

rspec rspec2 rspec-rails ruby-on-rails-3

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

什么是拖放的最佳轻量级解决方案?

我非常喜欢和使用jQuery,但我希望能找到一个特殊项目的替代解决方案.

我正在创建一个书签,它将与我的应用程序连接,以允许用户更快地输入信息.我目前应用程序中最大的痛苦之一就是上传图像.用户(理智)讨厌以有组织的方式将图像下载到他们的计算机,然后将它们上传到应用程序的过程.

我喜欢这个书签要做的是加载一个带有几个小控件的小div叠加,其中包括一个允许用户将图像从当前页面拖放到控件中的控件.然后,该脚本将收集那些img标签的URI并将其与表单一起提交给应用程序,然后服务器会自动将它们下载到应用程序中.

因此,对于此任务,每次单击bookmarklet时,将jQuery和jQuery UI加载到页面中似乎是一种非常严厉的方法.

任何人都可以推荐一个漂亮,轻量级的JavaScript工具包来处理拖放功能,没有别的吗?

我很高兴看到新的DragDealer工具,它看起来很棒,就在今天的ajaxian上,但它似乎只是处理拖动而不是"掉落"(即不是目标)

javascript drag-and-drop draggable dom-events

5
推荐指数
1
解决办法
4319
查看次数

智能日期范围解析人类输入?

有没有人遇到过用任何语言编写的脚本/ cl应用程序,它可以很好地解析人类输入的日期?我希望能够解析,例如:

  • "3至4周"
  • "2 - 3天"
  • "3周到2个月"

javascript php ruby python coldfusion

5
推荐指数
1
解决办法
777
查看次数

是否有任何 javascript 库可以为 HTML 创建一个漂亮的结构化(树)差异?

我正在尝试提出一个解决方案来支持我们在整个站点中使用的“历史视图”机制。对于这个历史视图的 UI,我想向用户展示一个对象的两次修订之间发生了什么变化。换句话说,差异。

这是一个真正的挑战,因为所讨论的对象都相当复杂。我认为最好的方法是将每个对象呈现为 HTML,然后在生成的 HTML 上使用某种差异工具来向用户展示差异。

到目前为止,我最接近工作解决方案的是使用 google-match-patch 库 ( http://code.google.com/p/google-diff-match-patch/ )。我实现了 wiki 中描述的一种建议方法,用于将 google-match-patch 与结构化内容一起使用(http://code.google.com/p/google-diff-match-patch/wiki/Plaintext),但结果是不太对。作为参考,这是我的(有点粗糙 - 我只是在测试概念)代码:https : //gist.github.com/921264

我的问题:如上述维基页面所述,“正确的解决方案是使用基于树的差异、匹配和补丁。” 任何人都可以建议这样一个用 JavaScript 编写的库吗?

我尝试了 DaisyDiff (java) 并且对结果不满意。


编辑这是一个用于展示和讲述的有效jsfiddle


编辑 #2:分享是关怀https : //github.com/GenuineParts/TableDiff

html javascript diff

5
推荐指数
1
解决办法
1608
查看次数

如何从ColdFusion查询中丢弃一行?

给定查询(伪代码):

<cfquery name="myquery">SELECT * FROM stuff</cfquery>
Run Code Online (Sandbox Code Playgroud)

我如何摆脱第一条记录?在这种情况下,更改SQL不是一种选择.我试过了:myquery.RemoveRows(0,1);但收到了一个错误:

No matching Method/Function for Query.REMOVEROWS(numeric, numeric) found
Run Code Online (Sandbox Code Playgroud)

我在Railo 3 BTW上

coldfusion railo

5
推荐指数
1
解决办法
7387
查看次数