这是我的HTML
<div class="dc2-contact-cont" selectedindex="1" id="contact-form-applet">
<div class="dc2-ltfc">
<div class="dc2-ltfcs">A
<br>
</div>
<div role="row" class="dc2-ltfcc" id="0">
<p><span class="dc2-ltf-span" id="SIO_Contact_First_Name_Label">First Name</span>
<br>
<input type="text" aria-labelledby="SIO_Contact_First_Name_Label" id="0_SIO_Contact_First_Name" name="s_5_2_30_0" class="dc2-ltf-input" value="555" aria-readonly="false">
</p>
</div>
</div>
<div class="dc2-ltfc">
<div class="dc2-ltfcs">B
<br>
</div>
<div role="row" class="dc2-ltfcc" id="1">
<p><span class="dc2-ltf-span" id="SIO_Contact_First_Name_Label">First Name</span>
<br>
<input type="text" aria-labelledby="SIO_Contact_First_Name_Label" id="1_SIO_Contact_First_Name" name="s_5_2_30_0" class="dc2-ltf-input" value="4444">
</p>
</div>
</div>
我需要将click事件绑定到div中的所有输入控件,但我无法找到正确的选择器。
我尝试了以下表达式,但它无法正常工作
$('.dc2-ltfcc p').delegate("input[type=text], textarea",
"click", {
ctx: this
},
function(event){
console.log("clicked");
});
这是jsFiddle的链接,我尝试使用find来获取正确的选择器,但我甚至无法选择div。
答案 0 :(得分:1)
你可以这样做:
$('.dc2-ltfcc p').on('click','input',function() {
console.log("clicked");
});
注意:delegate()已弃用版本1.7
,您应该使用on(),而不是像上面那样。
答案 1 :(得分:0)
使用 on()
.on()
语法是1.7版本使用的新语法,它旨在替换.bind()
,.delegate()
和.live()
。
了解更多信息 - &gt; http://blog.jquery.com/2011/11/03/jquery-1-7-released/
$("#contact-form-applet").on('click','input',function() {
// your desire action
});
答案 2 :(得分:0)
使用on
:
$("#contact-form-applet").on("click","input",function() {
alert('test');
});
<强> Working Demo 强>
使用delegate
:
$( "#contact-form-applet" ).delegate( "input", "click", function() {
alert('test');
});
<强> Working Demo 强>