使用 rails 4 的 link_to 使用 jQuery 触发点击

luu*_*cha 3 html javascript jquery ruby-on-rails

我正在开发一个 Rails 4 应用程序。我需要使用 javascript(或 jQuery)触发链接中的点击。我认为:

<%= link_to t('.fixture'), fixture_manager_tournament_path(format: :js), remote: true, id: 'fixture-link' %>
Run Code Online (Sandbox Code Playgroud)

这会产生:

<a id="fixture-link" data-remote="true" href="/manager/tournaments/1/fixture.js">Fixture</a>
Run Code Online (Sandbox Code Playgroud)

请注意remote: true. 当我单击链接时,这工作正常,但我需要通过 js 模拟单击​​。我试过:

$('#fixture-link').click();
$('#fixture-link').trigger('click');
$('#fixture-link').trigger('click.rails');
Run Code Online (Sandbox Code Playgroud)

但他们都没有工作。提前致谢!

编辑

@RustComet Comet 它应该替换我的一个 div 的 HTML ......

@RichPeck 我的视野太大了。然后,为了避免长时间的渲染,我试图通过 JS 加载部分。我已经使用此信息:https : //stackoverflow.com/a/15174908/3893506来实现这一目标。

我的视图有各种选项卡,所有选项卡都是通过 JS 加载的(一个除外)。然后我向路由添加了一个额外的参数,以便直接访问所需的选项卡。所以我可以去/tournament?active=fixture看看固定装置。

问题是,选项卡处于活动状态,但内容不在此处。(当然,在我点击链接之前不会触发 ajax 请求和回调)。这就是为什么我试图在该链接上模拟点击并加载相应的选项卡。

Mun*_*sim 6

虽然很晚了,你已经解决了你的问题,但这是实际的解决方案:)

$('#fixture-link')[0].click();
Run Code Online (Sandbox Code Playgroud)

你错过了[0]部分。