ramda-jq 是把 jquery
转换为函数流风格 符合 ramda.js
的js库(对js的FP感兴趣的可以加群426566496一起讨论)
我只转换了一些常用函数 on,hide,show...
如果没有你需要的函数可以修改源码(转换类似 var hover = fntor2("hover");
给出名字和参数个数就行俩) 随时提交pull request
<script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script>
<script src="http://cdn.jsdelivr.net/ramda/latest/ramda.min.js"></script>
<script src="../src/ramda-jq.js"></script>
var data = {
msg: ["000000000", "1111111111"]
};
var pipe = R.pipe,
split = R.split,
jqpipe = ui.jqpipe;
var watch = pipe(
ui.on("click", jqpipe(ui.attr("title"), R.concat("hello "), alert)),//点击触发:弹窗 hello+标题
pipe(ui.find("[hover-up]"), ui.hoverToogle500(ui.find("[hover]"))),//鼠标划过hover-up显示或者隐藏hover 延迟500毫秒
pipe(ui.find("[msg-path]"), ui.on("click", jqpipe(ui.attr("msg-path"), R.split("."), R.path(R.__, data), alert)))
);
watch($(document));
alert
)近乎于完美等同于下面代码
function jq(fn) {
return function(e) {
return fn($(this), e);
};
}
等同于下面代码
function jqpipe() {
return jq(r.pipe.apply(null, arguments));
}
api | isJquery | isAdded |
---|---|---|
on | y | n |
once | y | n |
jq | n | y |
jqpipe | n | y |
addclass | y | n |
removeClass | y | n |
attr | y | n |
setArrt | y | y |
hover | y | n |
attrs | n | y |
hoverUp | n | y |
hoverToogle | n | y |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )