mui on事件 回调函数中的参数event怎么使用

mui on事件 回调函数中的参数event怎么使用,第1张

所有Widget类型的节点都支持addTouchEventListener和addClickEventListener这两个接口。可以通过些接口来接收触摸事件

addTouchEventListener的使用步骤如下(C++):

1)准备好你的widget节点,在编辑器中开启交互(或在代码中setTouchEnabled(true))。

2)定义一个函数,形式如下

void ACuteClass::onTouchEvent(cocos2d::Ref ref, Widget::TouchEventType touchType)

{

switch(touchType)

{

case Widget::TouchEventType::BEGAN:

CCLOG("on began");

break;

case Widget::TouchEventType::MOVED:

CCLOG("on moved");

break;

case Widget::TouchEventType::ENDED:

CCLOG("on ended");

break;

case Widget::TouchEventType::CANCELED:

CCLOG("on canceled");

break;

default:

CCLOG("impossible");

}

}

3)把这个函数传递给addTouchEventListener接口:

1

your_widget->addTouchEventListener(CC_CALLBACK_2(ACuteClass::onTouchEvent, this));//CC_CALLBACK_2照着写,表示有两个参数的回调

ok搞定。

addTouchEventListener的使用方法一样,不同的地方是:回调函数onTouchEvent在一次触摸中只回调一次,触发ENDED时回调。

关于点击没响应的可能:

没开启交互。

控件被挡住。

其他细节

1 如何获取触摸事件的坐标

用下面这几个接口:

getTouchBeganPosition

getTouchMovePosition

getTouchEndPosition

看名字就知道获取的是什么了吧。

2 关于ScrollView在某些情况下点到子控件不能拖动的问题

现在的Studio支持同时创建widget和非Widget类型的节点。这样会有一个问题。

Widget类型接受到触摸事件时,会把这些事件向上层传递,但是在遇到非Widget节点时会停下来。这会导致点击ScrollView等View类中的控件(两者之间有node)拖动时,拖动失败。

解决方案:

设置View中的控件的SwalloTouches属性为false。使控件不截断touch事件

改下源码:将如下代码替换掉Widget中同名函数。

void Widget::propagateTouchEvent(cocos2d::ui::Widget::TouchEventType event, cocos2d::ui::Widget sender, cocos2d::Touch touch)

{

Widget widgetParent = nullptr;

for(Node p = this;widgetParent == nullptr;)

{

p = p->getParent();

if(p)

{

widgetParent = dynamic_cast(p);

}

else

{

return;

}

}

widgetParent->interceptTouchEvent(event, sender, touch);

}

ui::TextField

类似于addTouchEventListener

1设置交互或者setTouchEnabled(true)

2编写一个监听函数:

void yourClass::textFieldEvent(Ref pSender, TextField::EventType type)

{

switch (type)

{

case TextField::EventType::ATTACH_WITH_IME:

CCLOG("获得输入焦点");

break;

case TextField::EventType::DETACH_WITH_IME:

CCLOG("获得输入焦点");

break;

case TextField::EventType::INSERT_TEXT:

CCLOG("输入了文本");

break;

case TextField::EventType::DELETE_BACKWARD:

CCLOG("获得输入焦点");

break;

default:

break;

}

}

3设置监听:

yourTextField->addEventListener(CC_CALLBACK_2(yourClass::textFieldEvent, this));

让popverd出框始终显示在中间位置 就不要用 <a href='#popver'>,自己写一个标签,比如:

<button type="button" @click="transferOder">转移订单</button>

通过点击事件 控制 popver的显示和<div class="mui-backdrop "></div>的显示

并且在点击事件中控制popver的定位: $('#middlePopover')css('top',$(window)scrollTop()+180)//定位的关键代码

这样不管页面如何滚动 popver始终处于最中间的位置。

############

刚好最近在写一个vue 和mui的项目,mui的popver封装的js是定位点击的位置,不能让他始终在中间,又看了网上各种各样的答案都不太符合,然后自己写了一个。有什么不懂的可以邮件635036447@qqcom

根据我的查询,mui-upload组件提供了一个fileList属性,用于获取上传行数,具体可以通过 thisrefsuploadstatefileListlength来获取行数。

jQuery ajax中数据以键值对(Key/Value)的形式发送到服务器,使用ajax提交表单数据时可以使用jQuery ajax的serialize() 方法表单序列化为键值对(key1=value1&key2=value2…)后提交。serialize() 方法使用标准的 URL-encoded 编码表示文本字符mui怎样快速获取提交表单值,像jquery的serialize那样

在项目开发中遇到这样的功能,要求实现列表页动态加载功能,在实现过程中遇到一些小小插曲,下面小编给大家详细说明下解决方法:

首次加载时可以获取成功,再次加载失败,通过chrome调试发现img

data-lazyload

属性没改变

调试的时候发现了bug

$fnimageLazyload

=

function(options)

{

var

lazyloadApis

=

[];

thiseach(function()

{

var

self

=

this;

var

lazyloadApi

=

null;

if

(self

===

document

||

self

===

window)

{

self

=

documentbody;

}

//对,bug就在这,判定时如果body已有该属性,就不在加载了,整体的代码没看明白,注释太少了啊

var

id

=

selfgetAttribute('data-imageLazyload');

if

(!id)

{

id

=

++$uuid;

$data[id]

=

lazyloadApi

=

new

ImageLazyload(self,

options);

selfsetAttribute('data-imageLazyload',

id);

}

else

{

lazyloadApi

=

$data[id];

}

lazyloadApispush(lazyloadApi);

});

return

lazyloadApislength

===

1

lazyloadApis[0]

:

lazyloadApis;

}

问题找到了,那么就在再次加载数据时,清除该属性就ok了

documentbodyremoveAttribute('data-imagelazyload');

mui(document)imageLazyload({

placeholder:

'//images/img_head3png'

});

以上所述是小编给大家介绍的MUI

解决动态列表页懒加载再次加载不成功的bug问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

以上就是关于mui on事件 回调函数中的参数event怎么使用全部的内容,包括:mui on事件 回调函数中的参数event怎么使用、mui怎样让popverd出框始终显示在中间位置、获得mui-upload上传行数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9737966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存