Drupal 8 - Ajax 模态无法通过动态创建的链接工作
Drupal 8 - Ajax modal not working from dynamically created links
我已经在我的网站中添加了 link,如下所示
<a href="/product/info/100" class="use-ajax" data-dialog-type="modal">Info</a>
如果它是在页面加载时加载的,它就可以工作。
但问题是,我需要在用户选择某些选项时创建 links。在页面 load.But 之后的一些客户操作中,我创建了新的 link,模态未从新创建的 links.
中显示
我在创建元素后添加了以下代码解决了问题
$('.use-ajax').click(function(e){
var url = $(this).attr('href');
Drupal.ajax({url: url}).execute();
e.preventDefault();
});
面对同样的问题并由 re-binding 动态生成元素的 ajax 事件修复:
Drupal.ajax.bindAjaxLinks(document.body)
详情可查看源码:
core\misc\ajax.js -> Drupal.ajax.bindAjaxLinks
When html is loaded by ajax and drupal modal popup does not work.
For me below code worked.
HTML code:
<button class="use-ajax" onclick="function_name("/url") ></button>
Jquery code
function function_name(url){
Drupal.ajax({url: url}).execute();
}
我已经在我的网站中添加了 link,如下所示
<a href="/product/info/100" class="use-ajax" data-dialog-type="modal">Info</a>
如果它是在页面加载时加载的,它就可以工作。 但问题是,我需要在用户选择某些选项时创建 links。在页面 load.But 之后的一些客户操作中,我创建了新的 link,模态未从新创建的 links.
中显示我在创建元素后添加了以下代码解决了问题
$('.use-ajax').click(function(e){
var url = $(this).attr('href');
Drupal.ajax({url: url}).execute();
e.preventDefault();
});
面对同样的问题并由 re-binding 动态生成元素的 ajax 事件修复:
Drupal.ajax.bindAjaxLinks(document.body)
详情可查看源码:
core\misc\ajax.js -> Drupal.ajax.bindAjaxLinks
When html is loaded by ajax and drupal modal popup does not work.
For me below code worked.
HTML code:
<button class="use-ajax" onclick="function_name("/url") ></button>
Jquery code
function function_name(url){
Drupal.ajax({url: url}).execute();
}