gpt4 book ai didi

jquery - 使用 JSF 和 jQuery 绑定(bind)基于 ID 的事件

转载 作者:行者123 更新时间:2023-12-01 01:38:52 25 4
gpt4 key购买 nike

我在使用 JQuery 和 JSF/Richfaces 时遇到问题。我在表单组件中有一个 inputText 组件。

<h:form id="myForm">
<h:inputText id="myInputField" value="#{myBean.sampleName}" />


我有以下 jQuery 代码:

MySite.supplier= function() {

// Only attach event listener if the element exists on page
if ( jQuery('#myInputField') ) {
jQuery('#myInputField').bind('paste', MySite.common.handleMousePaste.bind(this));
}

};

MySite.common.handleMousePaste = function(event) {

// Need to put a tiny delay in so the element has time to get the pasted n content.
setTimeout(function() { jQuery("#" + event.target.id).keyup(); }, 10);
};


问题是我的 inputField 的渲染方式。它添加了表单名称,如下所示:

myForm:myInputField


所以我当前的 jQuery 代码将找不到要绑定(bind)的 ID。

我没有使用完整表单名称 jQuery('#myForm\\:myInputField') 引用它的原因是因为我在整个网站的多个位置都有一个名为“myInputField”的字段(每个页面一次)

有没有人有任何解决方案可以在“MySite.supplier”方法以及我拥有 event.target.id 的“MySite.supplier”方法中正确绑定(bind)到 ID?

谢谢

最佳答案

您可以为文本框分配一个类,然后简单地使用类选择器来绑定(bind)您的粘贴事件吗?

<h:form id="myForm">
<h:inputText id="myInputField" value="#{myBean.sampleName}" styleClass="bindPaste" />

if ( jQuery('.bindPaste') ) {
jQuery('.bindPaste').bind('paste', MySite.common.handleMousePaste.bind(this));
}

jsfiddle 上的简单示例.

关于jquery - 使用 JSF 和 jQuery 绑定(bind)基于 ID 的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5183523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com