javascript - 适用于普通 javascript,但不适用于 jquery

标签 javascript jquery html

我正在尝试将 VKI(请参阅 http://www.greywyvern.com/code/javascript/keyboard )附加到通过 Javascript 动态添加到 DOM 的元素。

本质上,它是一个一开始只有一行的表,并且有“添加行”和“删除行”。这变得很棘手,因为每一行都有一个需要附加 VKI 的输入。

下面只是我处理添加和删除行的较大代码的片段。

$('#add-passenger-row').click(function(){
    get_lastID();
    $('#passenger-information tbody').append(newRow);


    // this doesn't work --- throws "Uncaught TypeError: undefined is not a function" 
    var myInput = $(newRow).find('#myInput');
    VKI_attach(myInput);

    // this works
    var myInput = document.getElementById('myInput');
    VKI_attach(myInput);

});

我的问题是......我怎样才能做到这一点?即,将 VKI 附加到用户单击“添加行”时动态添加的行中的每个输入

如果问题不够清楚,我可以创建 JSBin。

最佳答案

尝试:

var myInput = $(newRow).find('#myInput').get(0);
VKI_attach(myInput);

.get() 从 jQuery 对象中检索 DOM 元素。 VKI 不是 jQuery 小部件,因此它不能与 jQuery 对象一起使用,它需要原始 DOM 元素。

关于javascript - 适用于普通 javascript,但不适用于 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23134539/

相关文章:

javascript - 如何获得 2 到 12 rolldie 的总和?

JavaScript 标签系统 : show only the divs that have all the classes listed in an array, 否则隐藏

jquery - 有没有办法将边框放在元素内部而不是外部?

javascript - 以表格/网格格式呈现 div

php - 检查php中两个文本框的值是否相同

javascript - Python 获取具有 javascript 的网页内容 - 也许是 Selenium

javascript - 通过 JavaScript 访问 Google Chrome 中的 Delete 键

javascript - JQuery:删除的 div 仅在第二次单击后才可排序

jquery - 如何在 JQuery Mobile Web 应用程序中使用 AJAX 哈希深度链接

javascript - 在鼠标单击事件上停止音轨