小编Mik*_*ike的帖子

如何使用Prototype自动调整textarea?

我正在为我工​​作的公司开发一个内部销售应用程序,我有一个允许用户更改交付地址的表单.

现在我认为它会看起来更好,如果我用于主要地址细节的textarea只占用其中文本的区域,并在文本被更改时自动调整大小.

这是目前的截图.

ISO地址

有任何想法吗?


@克里斯

一个好点,但有理由我希望它调整大小.我希望它占用的区域是其中包含的信息区域.正如你在屏幕截图中看到的那样,如果我有一个固定的textarea,它会占用相当大的垂直空间.

我可以减少字体,但我需要地址大而且可读.现在我可以减小文本区域的大小,但是我遇到的问题是地址行需要3或4行(一行需要5行).需要用户使用滚动条是一个主要的禁忌.

我想我应该更具体一点.我正在垂直调整大小,宽度无关紧要.发生这种情况的唯一问题是,当窗口宽度太小时,ISO编号(大"1")会被推到地址下(正如您在屏幕截图中看到的那样).

这不是要有一个gimick; 它是关于有一个用户可以编辑的文本字段,它不会占用不必要的空间,但会显示其中的所有文本.

虽然如果有人想出另一种解决问题的方法,我也会对此持开放态度.


我已经修改了一些代码,因为它的行为有点奇怪.我将其更改为在keyup上激活,因为它不会考虑刚刚输入的字符.

resizeIt = function() {
  var str = $('iso_address').value;
  var cols = $('iso_address').cols;
  var linecount = 0;

  $A(str.split("\n")).each(function(l) {
    linecount += 1 + Math.floor(l.length / cols); // Take into account long lines
  })

  $('iso_address').rows = linecount;
};
Run Code Online (Sandbox Code Playgroud)

html javascript css textarea prototypejs

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

Ruby mixins和调用超级方法

好吧,所以我一直在我的小Rails应用程序中重构我的代码以努力消除重复,并且通常使我的生活更轻松(因为我喜欢轻松的生活).这个重构的一部分,就是将我的两个模型共同的代码移动到一个模块,我可以在需要的地方包含它.

到现在为止还挺好.看起来它会成功,但我遇到了一个我不确定如何解决的问题.该模块(我称之为可发送模块)将成为处理传真,电子邮件或打印文档PDF的代码.因此,例如,我有一个采购订单,我有内部销售订单(富有想象力地缩写为ISO).

我遇到的问题是,我想要在加载对象后初始化一些变量(初始化为没有正确拼写的人:P),所以我一直在使用after_initialize钩子.没问题......直到我开始添加更多mixins.

我遇到的问题是,我可以after_initialize在任何一个mixin中有一个,所以我需要在开始时包含一个超级调用,以确保after_initialize调用其他mixin 调用.哪个好,直到我最终调用超级,我得到一个错误,因为没有超级调用.

这是一个小例子,如果我不够混淆:

class Iso < ActiveRecord::Base
  include Shared::TracksSerialNumberExtension
  include Shared::OrderLines
  extend  Shared::Filtered
  include Sendable::Model

  validates_presence_of   :customer
  validates_associated    :lines

  owned_by                :customer
  order_lines             :despatched # Mixin

  tracks_serial_numbers   :items  # Mixin

  sendable :customer                      # Mixin

  attr_accessor :address

  def initialize( params = nil )
    super
    self.created_at ||= Time.now.to_date
  end
end
Run Code Online (Sandbox Code Playgroud)

因此,如果每个mixin都有一个after_initialize调用,并且有一个超级调用,我该如何阻止最后一个超级调用引发错误?在调用super方法之前,如何测试super方法?

ruby ruby-on-rails

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

触摸打字软件建议

由于键盘是我们用于计算机界面,我一直认为触摸打字应该是我应该学习的东西,但我一直都是,好吧,懒惰就是这个词.那么,有人推荐任何好的触控打字软件吗?

这很容易谷歌,但我想听听建议.

touch-typing editor

25
推荐指数
5
解决办法
7562
查看次数

从列表创建Compojure路由

我最近刚刚和Compojure一起玩,而且我有一个小的基本webapp.对于我的HTML模板,我使用Enlive,并且我有一个包含所有简单静态页面的命名空间.对这些页面的defroute调用如下所示:

(defroutes public-routes
  (GET "/" []
    (info/index-template))
  (GET "/about" []
    (info/about-template))
  (GET "/contact" []
    (info/contact-template)))
Run Code Online (Sandbox Code Playgroud)

我实际上得到了更多,但这应该让我知道我在做什么.

现在,我想,这真的只是我的一堆重复,所以我想我会尝试以下方法:

(defroutes info-routes
  (map #(GET (str "/" %) [] (ns-resolve 'webapp.pages.info
                                        (symbol (str % "-template"))))
       '("about" "contact")))
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,因为地图返回一个懒惰的序列而不是函数的主体(?).有人知道我需要做些什么来让这个想法发挥作用吗?

或者我应该使用完全不同的方法来减少重复自己?

clojure compojure

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

如何编写跨越模型,控制器和视图的Rails mixin

为了减少我的小Rails应用程序中的代码重复,我一直在努力将我的模型之间的公共代码添加到它自己的独立模块中,到目前为止一直很好.

模型的东西相当简单,我只需要在开头包含模块,例如:

class Iso < Sale
  include Shared::TracksSerialNumberExtension
  include Shared::OrderLines
  extend  Shared::Filtered
  include Sendable::Model

  validates_presence_of   :customer
  validates_associated    :lines

  owned_by :customer

  def initialize( params = nil )
    super
    self.created_at ||= Time.now.to_date
  end

  def after_initialize
  end

  order_lines             :despatched

  # tracks_serial_numbers   :items
  sendable :customer

  def created_at=( date )
    write_attribute( :created_at, Chronic.parse( date ) )
  end
end
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是,现在,我将要有一些控制器和视图代码,这些代码在这些模型之间也是常见的,到目前为止,我有这个用于我的可发送内容:

# This is a module that is used for pages/forms that are can be "sent"
# either via fax, email, or printed.
module Sendable
  module Model …
Run Code Online (Sandbox Code Playgroud)

ruby refactoring ruby-on-rails dry

5
推荐指数
2
解决办法
7556
查看次数

C++ - "Stack automatic"是什么意思?

在我的互联网浏览器中,我遇到了这个帖子,其中包括这个

"(写得很好)C++不遗余力地使堆栈自动对象"就像"原语一样工作,正如Stroustrup建议的那样"按照内容做".这需要更加坚持面向对象开发的原则:你的类是不正确的,直到它"像"一个int,遵循"三个规则",它保证它可以(就像一个int)被创建,复制和正确销毁为自动堆栈."

我已经做了一点C和C++代码,但只是顺便说一句,从来没有任何严肃的事情,但我只是好奇,这究竟意味着什么?

有人能举个例子吗?

c++ oop

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