我试图在jQuery中链接一个函数并遇到问题。
基本上,语法现在是:
$("#newsletter").click(function() {
$(this).replaceWith('html stuff')
.$("#transition").focus();
});
为什么会出现这种情况?我的replaceWith正在工作,它返回一个jQuery对象,因此应该使用链接。
(实际上,我希望在将注入到DOM中之后将JSFiddle中的输入聚焦到输入文本框中。)
答案 0 :(得分:2)
.alert()
不是jquery方法,您需要这样做:
$("#newsletter").click(function() {
$(this).replaceWith('html stuff');
alert("this isn't firing");
});
您只需在focus()
元素本身上触发input
:
$("#newsletter").click(function (e) {
e.preventDefault();
var content = '<div class="input-group"><input type="text" class="pull-right form-control input-lg" id="transition"><span class="input-group-btn"><button type="submit" class="btn btn-lg btn-warning">Submit <span class="glyphicon glyphicon-envelope"></span></button></span></div>'
$(this).replaceWith(content);
$('#transition').focus();
});
<强> Updated Fiddle 强>
答案 1 :(得分:1)
你可能需要这个 我已经更新了你的js 请看这里 http://jsfiddle.net/Aa7S9/10/
$("#newsletter").click(function() {
$(this).replaceWith('<div class="input-group"><input type="text" class="pull-right form- control input-lg" id="transition"><span class="input-group-btn"><button type="submit" class="btn btn-lg btn-warning">Submit <span class="glyphicon glyphicon-envelope"></span> </button></span></div>');
$( '#过渡')聚焦(); });