上下文菜单不能与Javascript生成的HTML一起工作
Context menu does not work with Javascript generated HTML
我的目标是有一个显示自定义上下文菜单的可右击链接。我正在使用这个方便的上下文菜单插件。我可以让它为静态HTML内容工作,但是当使用javascript创建HTML时,右键单击不会触发我的自定义上下文菜单。它是否与动态创建HTML有关?
我创建HTML的代码是$('.cmenu1content a').contextmenu();
$('#add_stuff').click(function () {
var $html = '';
$html += '<div class="cmenu1content"><a data-context-menu=".cmenu1" href="#">But this doesnt</a><ul class="context-menu dropdown-menu cmenu1"><li><a href="#" id="cetstart">Set Start Time</a></li> <li><a href="#" id="cetend">Set End Time</a></li><li><a href="#" id="cet5">Center time (5 min)</a></li><li><a href="#" id="cet30">Center time (30 min)</a></li><li><a href="#" id="cet60">Center time (60 min)</a></li><li><a href="#" id="cet360">Center time (6 hour)</a></li></ul></div>'
$(".not_working_link").empty().html($html);
});
这是我的情况的JSFiddle。上下文菜单插件从第1行到第75行,但我的代码从第77行开始。
http://jsfiddle.net/jonk1993/a2WYS/除非您可以使用委托模式并从父元素(具有第二个参数选择器的$.on()
方法)中工作,否则您应该在click
处理程序中添加$.contextmenu()
调用;否则,没有在new元素上设置事件处理程序,只在运行(上一个)调用时存在的元素上设置事件处理程序。
$('#add_stuff').click(function () {
// This will create a documentFragment that after appended, can
// still be worked on, as you see on the third line below.
var $html = $('<div class="cmenu1content"><a ... blah blah ... </div>');
// Note the use of `$.append()` instead of `$.html()`.
$(".not_working_link").empty().append($html);
$html.children('.cmenu1content a').contextmenu();
});
http://jsfiddle.net/a2WYS/7/使用http://api.jquery.com/on/使其与生成的元素一起工作或在旧的jquery中使用http://api.jquery.com/live/
相关文章:
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 将HTML文件中的变量与外部JS文件一起使用
- 我的HTML、CSS和Javascript应该放在一起还是分开
- 为什么 HTML 中的 Value 属性在与 AngularJS 中的 ng-model 一起使用时不起作用
- 加载 HTML 模板以通过浏览器与挖空组件一起使用
- 如何将html中select选项的输入与javascript一起使用
- HTML/Javascript/CSS框堆叠在一起
- 如何将动态html与注入角度引导popover的指令一起使用
- 将 Jquery 与 html 一起使用
- 如何在使用 Flask 后端时将图像和资产与 HTML 一起使用
- 将Dart与HTML一起使用(我可以在Javascript中做的事情)
- 将 Jquery 与 php 和 html 一起使用
- Django-将JSON数据和HTML一起传递到前端不起作用
- 当与.html一起使用时,.hooper不起作用
- 如何使javascript与使用ajax加载的html一起工作
- 上下文菜单不能与Javascript生成的HTML一起工作
- 在添加类的情况下,CSS 3的过渡是否不能与模板元素(HTML 5)一起工作?
- Ng-click不能与ng-bind-html一起使用
- Angularjs - form ng-submit不能与动态生成的form html一起工作
- Jquery UI datepicker不能与动态html一起工作