如何使用用户定义的函数进行jquery链接

时间:2019-05-14 07:33:21

标签: jquery

我的要求就像带有用户定义函数的jquery链接

我尝试了以下代码。

var content = $('<div />', {
  'id': 'pia_editable_'
}).change(function(e) {
  alert('change called');
}).condchain(some values);

function condchain(v) {
  alert('hh');
}

抛出未定义的函数错误

3 个答案:

答案 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!