小编Ton*_*ark的帖子

使用Javascript函数更改onclick操作

我有一个按钮:

<button id="a" onclick="Foo()">Button A</button>
Run Code Online (Sandbox Code Playgroud)

当我第一次单击此按钮时,我希望它执行Foo(它正确执行):

function Foo() {
  document.getElementById("a").onclick = Bar();
}
Run Code Online (Sandbox Code Playgroud)

当我第一次单击按钮时,我想要发生的是将onclick功能更改Foo()Bar().到目前为止,我只能实现无限循环或根本没有变化.Bar()看起来像这样:

function Bar() {
  document.getElementById("a").onclick = Foo();
}
Run Code Online (Sandbox Code Playgroud)

因此,单击此按钮只是交替调用哪个函数.我怎样才能让它发挥作用?或者,什么是显示/隐藏帖子全文的更好方法?它最初开始短路,我提供了一个"查看全文"的按钮.但是当我点击该按钮时,我希望用户能够再次单击该按钮以使文本的长版本消失.

这是完整的代码,如果它有帮助:

function ShowError(id) {
    document.getElementById(id).className = document.getElementById(id).className.replace(/\bheight_limited\b/, '');
    document.getElementById(id+"Text").className = document.getElementById(id+"Text").className.replace(/\bheight_limited\b/, '');
    document.getElementById(id+"Button").innerHTML = "HIDE FULL ERROR";
    document.getElementById(id+"Button").onclick = HideError(id);
}

function HideError(id) {
    document.getElementById(id).className += " height_limited";
    document.getElementById(id+"Text").className += " height_limited";
    document.getElementById(id+"Button").innerHTML = "SHOW FULL ERROR";
    document.getElementById(id+"Button").onclick = "ShowError(id)";
}
Run Code Online (Sandbox Code Playgroud)

javascript

57
推荐指数
6
解决办法
24万
查看次数

破管(Errno :: EPIPE)

我有一个Broken pipe (Errno::EPIPE)错误弹出,我不明白它是什么或如何解决它.完整的错误是:

example.rb:19:in `write': Broken pipe (Errno::EPIPE)
    from example.rb:19:in `print'
    from example.rb:19
Run Code Online (Sandbox Code Playgroud)

我的代码的第19行是:

vari.print("x=" + my_val + "&y=1&z=Add+Num\r\n")
Run Code Online (Sandbox Code Playgroud)

ruby

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

更快的替代memcpy?

我有一个正在执行memcpy的功能,但它占用了大量的周期.有没有比使用memcpy移动内存更快的替代/方法?

c performance memcpy

37
推荐指数
5
解决办法
6万
查看次数

Javadoc评论与块评论?

何时在方法开头使用块注释,何时使用javadoc样式的注释是否合适?

Java样式指南的"注释"部分,我发现了这个:

Java程序可以有两种注释:实现注释和文档注释.实现注释是在C++中找到的,由/*...*//和// 分隔.文档注释(称为"文档注释")仅限Java,并由以下内容分隔/**...*/.可以使用javadoc工具将Doc注释提取到HTML文件.

实现注释用于注释代码或有关特定实现的注释.Doc注释旨在从无实现的角度描述代码的规范.由可能不一定拥有源代码的开发人员阅读.

因此,另一种表达我的问题的方法是:方法何时应该从无实现的角度(Javadoc)而不是关于特定实现的注释来获得代码的规范,反之亦然?接口是否会获得javadoc注释,而实现会获得块注释?

编辑:我认为根据迄今为止的答案,我没有正确地传达我的问题.

这是我想知道的一个例子.

/**
 * Javadoc comment here about general implementation?
 */
/*
 * Should I now have a separate block comment for my specific implementation?
 */
public void foo()
{
...
}
Run Code Online (Sandbox Code Playgroud)

两种不同的评论风格传达两种不同类型的信息.是否存在方法应该具有领先的javadoc注释和前导块注释的情况?

甚至要问的灵感就是Eclipse刚刚为我自动生成了这个:

/*
 * (non-Javadoc)
 * @see my.package#process()
 */
Run Code Online (Sandbox Code Playgroud)

我认为这里有某种样式,我没有在上面链接的评论规范中明确声明.

java comments

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

在Ubuntu 10.04上安装rails时出错

我想在Ubuntu 10.04上安装rails.到目前为止,我已经执行了这些命令:

apt-get install build-essential libapache2-mod-passenger apache2 rubygems ruby1.8-dev libopenssl-ruby
gem install fastthread
gem install rails
Run Code Online (Sandbox Code Playgroud)

Fastthread很容易安装.但是,尝试安装rails会导致:

ERROR:  Error installing rails:
    bundler requires RubyGems version >= 1.3.6
Run Code Online (Sandbox Code Playgroud)

所以,我尝试gem -v了返回1.3.5.

如何升级rubygems?apt-get不会安装在1.3.5之上.并gem update --system导致:

ERROR:  While executing gem ... (RuntimeError)
    gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get.
Run Code Online (Sandbox Code Playgroud)

所以现在我根本无法安装rails,因为我需要更新版本的rubygems,而且ubuntu不会让我升级我当前版本的rubygems.

作为旁注,我尝试了安装的导轨,通过apt-get install rails它似乎工作,但我没有看到rails当我打字时的宝石gem list.这有什么用?

另一个注意事项:结果gem …

ubuntu rubygems ruby-on-rails

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

(java)在文件中写小端

我正在尝试编写TIFF IFD,我正在寻找一种简单的方法来执行以下操作(这段代码显然是错误的,但它可以解决我想要的问题):

out.writeChar(12) (bytes 0-1)
out.writeChar(259) (bytes 2-3)
out.writeChar(3) (bytes 4-5)
out.writeInt(1) (bytes 6-9)
out.writeInt(1) (bytes 10-13)
Run Code Online (Sandbox Code Playgroud)

写道:

0c00 0301 0300 0100 0000 0100 0000

我知道如何让写入方法占用正确的字节数(writeInt,writeChar等),但我不知道如何让它以小端编写.谁知道?

java endianness filewriter

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

(PHP)如何正确销毁会话cookie?

我正在尝试正确退出管理员用户.这是我的功能:

function logout()
{
    $_SESSION = array(); //destroy all of the session variables
    if (ini_get("session.use_cookies")) {
        $params = session_get_cookie_params();
        setcookie(session_name(), '', time() - 42000,
            $params["path"], $params["domain"],
            $params["secure"], $params["httponly"]
        );
    }
    session_destroy();
}
Run Code Online (Sandbox Code Playgroud)

基本上,一旦我验证密码,我将会话设置为有效(总共只有1个用户).现在,当管理员命中注销时,我想销毁当前会话,并且还销毁cookie,这样他们就不能只使用浏览器中存储的会话cookie返回管理页面.但我的代码不起作用.我点击退出,我可以直接导航回管理页面.但是,如果我删除我的cookie,功能是完美的.那么这里的cookie删除功能有什么问题?

php cookies session

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

(Ruby)是否有一个函数可以轻松找到字符串中的第一个数字?

例如,如果我键入"ds.35bdg56",函数将返回35.是否有类似的东西的预制函数或我需要迭代字符串,找到第一个数字,看看它有多长时间然后归还那个?

ruby string

16
推荐指数
3
解决办法
5832
查看次数

Excel在String VLOOKUP失败

我有一张看起来像这样的桌子

   B   C
43 XS  6
44 S   11
45 M   16
46 L   21
47 XL  26
48 XXL 31
Run Code Online (Sandbox Code Playgroud)

我写了这个公式:

`VLOOKUP("S",B43:C48,2)`
Run Code Online (Sandbox Code Playgroud)

它返回值为21.为什么?!它应该返回11!

更新我在另一个表中重现了这个确切的错误.VLOOKUP当搜索值是数字时起作用,但在使用字符串时始终失败.

excel excel-formula

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

如何生成随机的长盐用于散列?

在PHP中制作随机可变长度盐用于散列的方法是什么?假设我想制作一个16个字符的长盐 - 我该怎么做?

php salt-creation

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