Xforms Отменить событие

Эта способность, кажется, рекламируется повсеместно для xforms, но я не могу заставить ее работать. Кажется, 'ev:defaultAction="cancel"' - это путь, но я попытался поместить его в элементы управления xform, в элементы action, в элемент модели. Я пытаюсь сделать так, чтобы при щелчке элемента xf: repeat вместо изменения индекса изменялся набор узлов. Поэтому я подумал, что было бы просто перехватить событие, но я не могу понять это.

Для теста я попытался остановить все события взаимодействия во всем документе. Это размещено внутри элемента модели не работает:

<xf:action ev:event="DOMActivate" ev:defaultAction="cancel"/>

И при этом это:

<xf:model id="master" ev:event="DOMActivate" ev:defaultAction="cancel">

Это не остановит повторение от индексации:

<xf:repeat ... ev:event="DOMActivate" ev:defaultAction="cancel"/>

Ни это:

<xf:repeat ...>
     <script type="text/javascript" ev:event="DOMActivate" ev:defaultAction="cancel"/>
</xf:repeat>

Я использую Betterform. Это помещается в элемент модели не отменяет действие по умолчанию или даже огонь вообще.

<xf:action ev:event="betterform-index-changed"         
ev:target="repeat" ev:defaultAction="cancel"> 

Чего мне не хватает с этими событиями? Спецификация звучит очень прямо. xforms-recalculate - единственное событие, которое я смог успешно отменить до сих пор, и оно использовалось во многих примерах для остановки этого конкретного автоматического процесса. Существует очень мало общих примеров изменения действий по умолчанию и последовательности событий, когда они всплывают вверх и вниз по элементам.

1 ответ

Несколько вещей здесь не так с вашими примерами.

Вы не можете отменить DOMActivate для модели, поскольку она вообще не получает это событие. Кроме того, вы можете применять атрибуты событий только к элементам действия XForms (например, action, setvalue, insert и т. Д.). Слушатель всегда привязан к родительскому элементу - он получит событие.

Некоторые события можно отменить, а некоторые нет. Событие betterform-index-change, например, не может быть отменено. Для других событий XForms вы найдете их определения здесь: http://www.w3.org/TR/2009/REC-xforms-20091020/

Другие вопросы по тегам