如何在 onTouchStart 处理程序中禁用 SwiperJS 对活动元素的模糊调用?
How to disable blur call on the active element from SwiperJS in onTouchStart handler?
是否可以在 onTouchStart 事件处理程序中禁用 this blur call on the active element from SwiperJS?
一些背景:
对于触摸和桌面设备,我在滑动器幻灯片上使用滑动器来处理表单。在我使用的表单中 vue-select (组合框)。
问题:当用户select输入一个条目时,该条目不是第一次select编辑,而是第二次编辑。
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div>First form</div>
<v-select :options="selectionEntries"></v-select>
</div>
<div class="swiper-slide">
<div>Second form</div>
<v-select :options="selectionEntries"></v-select>
</div>
</div>
</div>
另请参阅 codepen
上的示例
我发现它似乎工作正常:
- 当我删除 vue-select 框的输入字段上的模糊监听器时。但它用于在用户离开该字段时关闭 selection 列表。
- 当我在 SwiperJS 中注释掉 this blur call 时。我不确定为什么在那里使用它。
第一点不是一个选项,那么是否可以通过配置禁用 SwiperJS 的模糊调用?
目前我正在使用此解决方法 (SwiperJS V6.4.1):
const swiper = new Swiper(".swiper-container", {
// Workaround part 1:
touchStartPreventDefault: false
})
// Workaround part 2:
swiper.touchEventsData.formElements = 'notExistingHtmlTagName'
第 1 部分:要处理所有元素上的鼠标按下和单击事件,请设置滑动器参数 touchStartPreventDefault: false
。
这将禁用此代码块:https://github.com/nolimits4web/swiper/blob/9dead9ef4ba5d05adf266deb7e3703ceb199a241/src/components/core/events/onTouchStart.js#L90-L97
第 2 部分:设置 swiper.touchEventsData.formElements = 'undefined'
以将 nothing 定义为 formElements。这将禁用调用模糊的代码块:https://github.com/nolimits4web/swiper/blob/9dead9ef4ba5d05adf266deb7e3703ceb199a241/src/components/core/events/onTouchStart.js#L81-L88
是否可以在 onTouchStart 事件处理程序中禁用 this blur call on the active element from SwiperJS?
一些背景:
对于触摸和桌面设备,我在滑动器幻灯片上使用滑动器来处理表单。在我使用的表单中 vue-select (组合框)。
问题:当用户select输入一个条目时,该条目不是第一次select编辑,而是第二次编辑。
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div>First form</div>
<v-select :options="selectionEntries"></v-select>
</div>
<div class="swiper-slide">
<div>Second form</div>
<v-select :options="selectionEntries"></v-select>
</div>
</div>
</div>
另请参阅 codepen
上的示例我发现它似乎工作正常:
- 当我删除 vue-select 框的输入字段上的模糊监听器时。但它用于在用户离开该字段时关闭 selection 列表。
- 当我在 SwiperJS 中注释掉 this blur call 时。我不确定为什么在那里使用它。
第一点不是一个选项,那么是否可以通过配置禁用 SwiperJS 的模糊调用?
目前我正在使用此解决方法 (SwiperJS V6.4.1):
const swiper = new Swiper(".swiper-container", {
// Workaround part 1:
touchStartPreventDefault: false
})
// Workaround part 2:
swiper.touchEventsData.formElements = 'notExistingHtmlTagName'
第 1 部分:要处理所有元素上的鼠标按下和单击事件,请设置滑动器参数 touchStartPreventDefault: false
。
这将禁用此代码块:https://github.com/nolimits4web/swiper/blob/9dead9ef4ba5d05adf266deb7e3703ceb199a241/src/components/core/events/onTouchStart.js#L90-L97
第 2 部分:设置 swiper.touchEventsData.formElements = 'undefined'
以将 nothing 定义为 formElements。这将禁用调用模糊的代码块:https://github.com/nolimits4web/swiper/blob/9dead9ef4ba5d05adf266deb7e3703ceb199a241/src/components/core/events/onTouchStart.js#L81-L88