问题描述
我想在带有图像的容器上添加导航按钮,以便用户可以导航到上一张或下一张图像。
{
xtype: 'container',height: 400,width: 600,html: '<div id="ux-image-viewer-image">' +
'<img src="https://elcl6.coe.int/slider/photo2.jpg">' +
'<div id="ux-image-viewer-hoverNav" style="visibility: visible;">
<div id="ux-image-viewer-navPrev" style="visibility: visible;"><span><</span></div>
<div id="ux-image-viewer-navNext" style="visibility: visible;"><span>></span></div>' +
'</div>' +
'</div>',}
如何检测特定 div 被点击?
通过与经典工具包的类比,我尝试添加点击侦听器,例如:
listeners: {
el: {
delegate: 'div.ux-image-viewer-hoverNav',tap: function() {
console.log('Clicked!');
}
}
}
但是,这不起作用。
解决方法
您可以使用以下代码:
{
xtype: 'container',height: 400,width: 600,html: '<div id="ux-image-viewer-image" style="border: 1px solid red;">' +
'<img src="https://elcl6.coe.int/slider/photo2.jpg">' +
'<div id="ux-image-viewer-hoverNav" style="visibility: visible;">' +
'<div id="ux-image-viewer-navPrev" style="visibility: visible;">' +
'<span> < </span>' +
'</div>' +
'<div id="ux-image-viewer-navNext" style="visibility: visible;">' +
'<span>></span>' +
'</div> ' +
'</div>' +
'</div>',listeners: {
tap: {
element: 'element',delegate: 'div#ux-image-viewer-hoverNav',fn: function() {
console.log('click el');
}
}
}
}