我的要求就像带有用户定义函数的jquery链接
我尝试了以下代码。
var content = $('<div />', {
'id': 'pia_editable_'
}).change(function(e) {
alert('change called');
}).condchain(some values);
function condchain(v) {
alert('hh');
}
抛出未定义的函数错误
答案 0 :(得分:2)
将函数放到NSDictionary *sDict;
NSValue *vcValue = [NSValue valueWithPointer:&sDict];
id __strong *vcPointer = (id __strong *)vcValue.pointerValue;
*vcPointer = @{ @"key": @"value" };
上:
$.fn
答案 1 :(得分:2)
为了使jQuery能够识别您的函数,需要将其添加到$.fn.
$.fn.condchan = function() { };
然后,您可以访问this
,这将是当前的jquery上下文,例如:
$.fn.myFunc = function(txt) { var that = this; setTimeout(function() { that.text(txt) }, 500); };
$("#div").myFunc("changed");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id='div'>text</div>
要添加链接,您只需要返回this
。如果您要执行除批量操作以外的任何操作,也可以使用$(this).each...
,例如:
$.fn.myFunc = function(txt) {
// this = jquery context
$(this).each(function(i, e) {
// this now = loop iteration
var that = $(this);
setTimeout(function() { that.text(txt) }, 500 * (i + 1));
});
return this;
};
$(".div").myFunc("changed").css("color", "red");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='div'>text</div>
<div class='div'>text</div>
您还可以创建一个完整的可重用插件,并且此页应该是您的起点:https://learn.jquery.com/plugins/basic-plugin-creation/
答案 2 :(得分:1)
您所要做的就是使用自定义函数扩展JQuery函数,例如可以在上面的注释中使用
<span>.</span><span>.</span><span>.</span>
扩展本地jQ功能
有关更多详细信息,请参阅What does $.fn mean in jQuery?。
谢谢, 快乐编码<3!