小编Man*_*ijn的帖子

jQuery无法使用.on()将事件绑定到AJAX加载的元素

使用.load,我将以下内容加载到#step_2 div中:

<div id="step_2">
    Select a subcategory:
    <select id="subcategory_id" name="subcategory_id">
        <option value="0">All subcategories</option>
        <option value="68">Cool</option>
        <option value="15">Cooler</option>
        <option value="74">Excellent</option>
    </select>
</div>
Run Code Online (Sandbox Code Playgroud)

然后我试图检测用户选择的东西:

$("#subcategory_id").on("change", function(){
    alert( 'Success!' );
});
Run Code Online (Sandbox Code Playgroud)

但没有成功.有谁看到我做错了什么?非常感谢.

笔记:

这是FireBug看到的完整CSS路径:

html.js body div#container div#main form div#step_2 select#subcategory_id
Run Code Online (Sandbox Code Playgroud)

这是完整的javascript文件,如果上下文很重要:

$(document).ready(function() {

    $("#category_id").change(function() {
        $("#spinner").show();
        $("#step_2").load("process.php?selected=category", { value: $(this).val() }, function() {
            // Do something to say the data has loaded sucessfully
            $("#spinner").hide();
        });
    });

    $("#subcategory_id").on("change", function(){
        alert( 'Success!' );
    });

});
Run Code Online (Sandbox Code Playgroud)

jquery events binding javascript-events

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

使用 MiniTest 测试方法是否被调用 x 次的更好方法?

今天,我从 minitest 的一些基本实现开始,最后找到了一种方法来测试类上的方法是否被调用两次。

在 RSpec 中我会做类似的事情:

expect(@foo).to receive(:some_heavy_calculation).once
2.times { @foo.bar }
Run Code Online (Sandbox Code Playgroud)

现在,我提出了以下 MiniTest 实现,但我不确定这是否是实现此方法的方法,因为 this. 这是我所拥有的

require 'minitest/autorun'

class Foo
  def bar
    @cached_value ||= some_heavy_calculation
  end

  def some_heavy_calculation
    "result"
  end
end

class FooTest < Minitest::Test
  def setup
    @foo = Foo.new
  end

  def cache_the_value_when_calling_bar_twice
    mock = Minitest::Mock.new
    mock.expect(:some_heavy_calculation, [])
    @foo.stub :some_heavy_calculation, -> { mock.some_heavy_calculation } do
      2.times { assert_equal_set @foo.bar, [] }
    end
    mock.verify
  end
end
Run Code Online (Sandbox Code Playgroud)

我真的必须用模拟来实现这个吗?这将是必须调用 x 次的方法上的主题存根的结果?

ruby testing mocking minitest

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

jquery - 字段选择所有文本然后在焦点上取消选择它

试图弄清楚为什么会发生这种情况 - 我有一个输入文本字段,我想要在字段获得焦点时突出显示所有文本.这很快就会发生,然后所有文本都被取消选中.知道为什么会这样吗?这是我正在使用的代码:

$("#permalink").focus(function(){
    this.select();
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery focus

0
推荐指数
1
解决办法
843
查看次数