精华内容
下载资源
问答
  • JavaScript常见事件类型

    千次阅读 2018-08-09 14:15:38
    UI (User Interface) 事件,当用户与页面上的元素交互时触发 Load事件:当页面完全加载后,就会触发window上的load事件。 Unload事件:在文档被完全卸载后触发。只要用户从一个页面切换到另一个页面,就会触发。 ...

    UI (User Interface) 事件,当用户与页面上的元素交互时触发

    Load事件:当页面完全加载后,就会触发window上的load事件。

    Unload事件:在文档被完全卸载后触发。只要用户从一个页面切换到另一个页面,就会触发。

    Resize事件:当浏览器调整到一个新的高度或宽度时,就会触发resize事件。注意不要在这个事件中加入计算逻辑,避免性能问题。

            EventUtil.addHandler(window, "resize", function (event) {
                    //防抖函数
                    //每次调用函数都会清除之前的计数器,并重新计数,计数完成时,执行操作。
                var timer;
                return function () {
                    if (timer) {
                        clearTimeout(timer);
                    }
                    timer = setTimeout(function () { //setTimeout返回唯一标识符,可以使用它来取消计数器
                        console.log("123");
                    },500);
                }
            }());//此处的双括号表示,立即调用返回值

    Scroll事件:当用户滚动带有流动条的元素中的内容时,在该元素上面触发。

            EventUtil.addHandler(window, "scroll", function (event) {
                //函数节流
                var timer;
                return function () {
                    if (timer) {
                        clearTimeout(timer);
                    }
                    timer = setTimeout(function () { //setTimeout返回唯一标识符,可以使用它来取消计数器
                        if (document.compatMode == "CSS1Compat") {
                            //标准模式
                            console.log("Left:" + document.documentElement.scrollLeft);
                            console.log("Top:" + document.documentElement.scrollTop);
                        }
                        else {
                            //混杂模式
                            console.log("Left:" + document.body.scrollLeft);
                            console.log("Top:" + document.body.scrollTop);
                        }
                    }, 500);
                }     
            }());

     

    焦点事件,在页面获得或失去焦点时触发

    Blur事件:在元素失去焦点时触发。这个事件不会冒泡;所有浏览器都支持它;

    Focus事件:在元素获得焦点时触发。这个事件不会冒泡,所有浏览器都支持它;

    Focusin事件:在元素获得焦点时触发。 这个事件与HTML事件focus等价,但它冒泡,支持这个事件的浏览器有IE5+ safari5.1+ Opera11.5+ 和 Chrome;

    Focusout事件: 在元素获得失去时触发。 这个事件是HTML事件blur的通用版本,,支持这个事件的浏览器有IE5+ safari5.1+ Opera11.5+ 和 Chrome;

     

    鼠标与滚轮事件

    Click事件:在用户单机鼠标左键或按下回车键时触发。

    DbClick事件:用户双击鼠标左键时触发。

    MouseDown事件:在用户按下鼠标任意按钮时触发。

    MouseEnter事件:鼠标从外部首次移入到元素范围内触发。

    MouseLeave事件:鼠标移出元素范围之外触发。

    MouseMove事件:当鼠标指针在元素内部移动时重复触发。

    MouseOut事件:在鼠标指针位于一个元素上方,然后用户将其移入到另一个元素时触发。

    MouseOver事件:在鼠标指针位于一个元素外部,然后用户将其首次移入到另一个元素边界之内时触发。

    MouseUp:在用户释放鼠标指针时触发。

    几个鼠标坐标位置:

    1.客户区坐标位置

    鼠标事件都是在浏览器视口中的特定位置上发生的。这个位置保存在事件对象的clientX和clientY属性中。

    2.页面坐标位置

    pageX和pageY能告诉你事件是在页面中什么位置发生的。换句话说,这两个属性表示光标在页面中的位置,因此坐标是从页面本身而不是视口左边或顶边计算的。

    在页面没有滚动的情况下,pageX和pageY和clientX和clientY是相等的。

    IE8及更早的版本不支持页面坐标位置,不过可以使用客户区坐标位置和滚动信息计算出来。

            EventUtil.addHandler(document.getElementById("div1"), "click", function (event) {
                //兼容IE8及之前版本
                event = EventUtil.getEvent(event);
                var pageX = event.pageX,
                    pageY = event.pageY;
                if (pageX === undefined) {
                    pageX = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);
                }
                if (pageY === undefined) {
                    pageY = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);
                }
                //console.log("pageX:" + pageX);
                //console.log("pageY:" + pageY);
            });

    3.屏幕坐标位置

    screenX和screenY属性可以确定鼠标事件发生时鼠标指针相对于整个屏幕的坐标信息。

    ps:EventUtil在https://github.com/AlexanderArima/XCYN/blob/master/XCYN.Web/Scripts/common.js可以找到

    展开全文
  • ACE事件类型及模板

    千次阅读 2019-01-02 15:02:25
    事件类型及子类型 每个事件类型和子类型都有自己的一组潜在参与者角色,用于在其范例范围内出现的实体。在某些情况下,潜在事件是否可标记的问题将取决于是否存在填充某些角色的实体。(对于代词和明确描述的名词回...

    事件类型及子类型

    每个事件类型和子类型都有自己的一组潜在参与者角色,用于在其范例范围内出现的实体。在某些情况下,潜在事件是否可标记的问题将取决于是否存在填充某些角色的实体。(对于代词和明确描述的名词回指案例,这一要求会有所放宽。)

    事件参数

    任何可标记的事件参数都将与事件的触发器词在同一个句子中出现。

    我们首先简要讨论不同类型的参数。

    活动参与者:

    大多数事件参数都是参与者。这些将是以某种方式参与事件的可标记实体。对于事件的每种类型和子类型,将有一组特定的参与者角色可以填充。

    事件属性:

    除了参与者之外,还有两种可以与事件关联的属性(作为参数):

    特定于事件的属性,例如用于JUSTICE事件的CRIME-ARG和SENTENCE-ARG以及用于PERSONNEL事件的POSITION-ARG。在这两种情况下,参数槽可以由事件范围内标识的值填充(分别为CRIME和JOB-TITLE)。事件特定属性、关联事件类型、关联值类型及其解释的完整列表如下:

    Attribute

    Event Type

    Value

    Interpretation

    CRIME-ARG

    JUSTICE

    CRIME

    发生司法案件的犯罪行为

    POSITION-ARG

    PERSONNEL

    JOB-TITLE

    人事事项涉及的工作

    SENTENCEARG

    JUSTICE.SENTENCE

    SENTENCE

    被告被定罪后对被告的判决

    一般事件属性,例如PLACE-ARG和TIME-ARG,它们将很容易应用于大多数(如果不是全部)事件,并且每次都以完全相同的方式进行解释。例如,TIME-ARG将始终指示事件花费(或将要采取)的时间。一般事件属性的完整列表及其解释如下:

    Attribute

    Interpretation

    PLACE-ARG

    事件发生的地方

    TIME-ARG

    事件发生的时间

    DURATION-ARG

    事件所需的时间长度

    将有一些(特定于事件的)参与者可能容易与这些属性混淆。例如,TRANSPORT-ARTIFACT事件中的ORIGIN-ARG和DESTINATION-ARG本身就是“地点”,但有自己的专门解释,不应与其他事件中看到的PLACE-ARG混淆。我们将在下面的活动参与者演示中阐明这些案例。

    警告:属性和参与者都只是参数。

    在下面的小节中,我们在同一个表中包含了所有可能的参数(参与者和两种属性)。我们将这两个事件属性统称为参数。

    1. 事件参数可标记性

    我们只会将在事件范围内出现的实体和值标记为参数。

    参数和形态:

    无论参与指定事件的模式确定性如何,我们都将对论点进行注释。

    在以下示例中,Einhorn将是表达的Die事件中的参数(AGENT-ARG)。

    Einhorn was accused of killing Maddux

    并在:

    India blamed Islamic militants for the attack

    这个实体提到武装分子是可以作为攻击事件的论据。

    合理的读者规则:

    只有在没有涉及参数的句子的合理解释时(在由相应模态定义的世界中),实体或值才能作为给定事件中的参数被访问。

    共享参数:

    如果一个实体或数量显然是句子中另一个事件提及的论据,但它也适用于句子中提到的另一个事件,它应该被注释为两个事件提及的论据。在下面的例子中,下划线的论点应该用粗体表示。

    关于地名的说明:

    实体提及可以标记为PLACE-ARG,即使事件发生在相关地点或附近。

    A car bomb went off outside army headquarters

    2. '阻止类别'的事件:

    有时,会提及一个事件及其子事件:

    1. Six murders occurred in France, including the assassination of Bob and the killing of Joe.

    2. Six men were murdered, including Bob (in Paris) and Joe (in Reims).

    在这种情况下,一个sub-event“X”的范围中提到一些‘大’事件“Y”(这是一组sub-events),然后我们将所有可能的有效参数Y除非您必须显式地促进一个参数通过一个带注释的事件X应用的事件集,其中包含X,我们得到:

    1. Six murders occurred in France, including the assassination of Bob and the killing of Joe.

    Murders (France)

    Assassination (Bob, France)

    Killing (Joe, France)

    2. Six men were murdered, including Bob (in Paris) and Joe (in Reims).

    Murdered (six men, Bob, Joe, Paris, Reims)

    3. 格式示例:

    在下面的小节中的示例中,触发器用粗体表示,相关的参数使用粗体字体和方括号表示。每个事件子类型可用的所有参数将在每个表中显示如下:

    First-Arg

    实体类型

    First-Arg的描述

    [first-arg示例]文本触发器

    Second-Arg

    实体类型

    Second-Arg的描述

    [Second-arg示例]文本触发器

    Third-Arg

    实体类型

    Third -Arg的描述

    [Third-arg示例]文本触发器

    1 人生(Life)

    1.1 出生(Be-Born)

    每当生成Person实体时都会发生Be-Born事件。请注意,我们不包括其他事物或想法的诞生。

    Be-Born事件有一个参与者槽(PERSON-ARG)和两个属性槽(TIME-ARG和PLACE-ARG)。

    1.2 结婚(Marry)

    Marry事件是官方活动,根据法律定义,两人结婚。(注:双重婚姻:指未终止前一婚姻正式登记而再次结婚的违法行为,如未终止前一婚姻正式登记而重新结婚或举行婚礼,也会被贴上“结婚事件”的标签,但并非“假婚姻”。)

    Marry事件有一个参与者槽(PERSON-ARG)和两个属性槽(TIME-ARG和PLACE-ARG)。

     

    1.3 离婚(Divorce)

    根据法律对离婚的定义,当两个人正式离婚时,就会发生Divorce事件。不包括分居或教会宣告无效。

    Divorce事件有一个参与者槽(PERSON-ARG)和两个属性槽(TIME-ARG和PLACE-ARG)。

    1.4 受伤(Injure)

    只要Person实体遭受物理伤害,就会发生Injure事件。Injure事件可能是偶然的,故意的或自我造成的。(注意:被食物或化学物质毒害也是一种Injure事件。)

    INJURE活动有三个参与者位置(AGENT-ARG,VICTIM-ARG和INSTRUMENT-ARG)和两个属性槽(TIME-ARG和PLACE-ARG)。

    1.5 死亡(Die)

    只要Person实体的生命周期结束,就会发生Die事件。Die事件可能是偶然的,故意的或自我造成的。(注意:如果没有提到死亡,我们不会标记Die。)

    Die事件有三个参与者位(AGENT-ARG,VICTIM-ARG和INSTRUMENT-ARG)和两个属性位(TIME-ARG和PLACE-ARG)

    虽然AGENT-ARG可用于Die活动,但不是必需的。代理对我们来说不是标准,所以我们将标记所有死亡,在必要时将AGENT-ARG插槽留空。

    2 移动(Movement)

    Movement事件只有一种子类型:Transport

    当Artifact(武器、车辆)或Person从一个地方(GPE, Facility, Location)移动到另一个地方时,就会发生Transport事件。

    注意:只有当已知对象是可标记的工件Artifact或Person时,此事件才可标记。

    注意:要使Transport事件可标记,必须在文档中的某个地方显式地显示源或目的地。

    注意:我们只会在移动明确时标记传输事件。

    注意:ExtraditeMeet事件作为自己的类型独立处理。

    注意:大多数访问示例将被标记为Meet事件。因此,下面的示例将被标记为Meet事件(而不是传输事件):

    弗雷德星期五去纽约看望哈利。

    区分TransactionMovement的决策规则:

    1. 被转移的是什么?是可标记的车辆还是武器?

    如果是这样,那么事件是可标记的。

    如果没有,那么事件就不能标记。

    1. 所有权有变化吗?

    如果是,那么该事件就是一个Transfer-Ownership事件。

    如果不是,那么事件就是一个Movement事件。

    TRANSPORT事件有六个参与者槽(TRANSPORTER-ARG,ARTIFACT-ARG,VEHICLE-ARG,PRICE-ARG,ORIGIN-ARG和DESTINATION-ARG)和一个属性槽(TIME-ARG)。

    对于TRANSPORT事件的参数,我们将采用以下约定:

    • 使用的任何车辆是VEHICLE-ARG;
    • 任何其他工件(运输车辆除外)是ARTIFACT-ARG;
    • 车辆上的任何乘客都是ARTIFACT-ARG;
    • 任何以一些未指明的方式移动的人都是ARTIFACTARG(例如他逃离该州);
    • 明确指示另一实体移动的任何实体都是TRANSPORTER-ARG,包括飞行员和司机。

     

    3 交易(Transaction)

    3.1 所有权转移(Transfer-Ownership)

    转移所有权事件是指工件或组织的购买、出售、贷款、借款、给予或接收。

    注意:这些事件只有在已知被转移的物品是可标记的车辆、设施、组织或武器时才可标记。

    注意:当被转移的物品是一个组织时,很少会有SELLER-ARG被填充;它会存在于:X公司将其Y部门卖给了Z公司。在更常见的情况下,A公司收购了B公司,A公司是BUYER-ARG,B公司是ORG-ARG,没有SELLER-ARG

    注意:如果有人在出售未指明的“材料”,在文章的后面那些材料被证明是武器,那么就会有一个可标记Transfer-Ownership事件。然而,如果有人在出售未指明的“材料”,结果是郁金香球根,那么就没有Transfer-Ownership事件。

    注意:占用设施将算作一个Transfer-Ownership事件,但是保护设备将不算作转移所有权事件。

    决策规则:

    1. 被转移的是什么?是可标记的交通工具还是武器?

    如果是这样,那么事件是可标记的。

    如果没有,则该事件不可标记。

    1. 所有权是否有变化?

    如果是,则该事件是Transfer-Ownership事件。

    如果没有,则该事件是Transport-Artifact事件。

    Transfer-Ownership活动有五个参与者位置(BUYER-ARG,SELLER-ARG,BENEFICIARY-ARG,ARTIFACT-ARG和PRICE-ARG)和两个属性位(TIME-ARG和PLACE-ARG)

    此类型将用于销售“物品”(车辆,武器和设施)和组织。

    3.2 转账(Transfer-Money)

    Transfer-Money事件是指在不购买物品的情况下给予,接收,借入或借出资金。 典型的例子是:(1)人们向组织提供资金(并且没有任何有形的回报); (2)组织向人民或其他组织提供贷款。

    注意:只有在明确指定金额时,我们才会将勒索作为Transfer-Money事件进行注释。

    注意:股票转让不能作为Extortion事件进行标记,即使它是以货币价值表示的。

    TRANSFER-MONEY事件有4个参与者位(GIVER-ARG,RECIPIENTARG,BENEFICIARY-ARG和MONEY-ARG)和2个属性位(TIME-ARG和PLACE-ARG)。

    4 业务(Business)

    4.1 Start-Org

    每当创建新的Organization时,就会发生Start-Org事件。合并(Mergers)作为Merge事件独立处理。

    注意:此事件类型仅在组织开始以前不作为离散单元存在的情况下才可标记。 一个州或省与其包含GPE的独立性,或将子公司ORG分拆为独立的ORG,都算Start-Org事件。

    注意:当ORG开启新的分支机构时,这将被标记为Start-Org事件。

    注意:当两个预先存在的ORG合并产生新的ORG时,这将被注释为Start-Org事件。

    Start-Org事件有两个参与者位(AGENT-ARG和ORG-ARG)和两个属性位(TIME-ARG和PLACE-ARG)

    4.2 合并组织(Merge-Org)

    只要两个或多个Organization实体聚集在一起形成新的Organization实体,就会发生Merge-Org事件。此事件适用于任何类型的组织,包括政府机构。它还包括合资企业。(注意:公司各部门的合并也是Merge-Org事件。)

    注意:组织或其设施的临时关闭不会被注释为End-Org事件。

    Merge-Org事件具有一个参与者时隙(ORG-ARG)和两个属性时隙(TIME-ARG和PLACE-ARG)。

    4.3 申报破产(Declare-Bankruptcy)

    每当一个实体因资产负债表极度负资产而正式要求法律保护其债务时,就会发生Declare-Bankruptcy事件。

    Declare-Bankruptcy事件有一个参与者槽(ORG-ARG)和两个属性槽(TIME-ARG和PLACE-ARG)。

    4.4 End-Org

    只要Organization不再存在(换句话说“停止运营”),就会发生End-Org事件。

    End-Org事件有一个参与者槽(ORG-ARG)和两个属性槽(TIME-ARG和PLACE-ARG)。

    5 冲突(Conflict)

    5.1 攻击(Attack)

    Attack事件被定义为造成伤害或损害的暴力物理行为。Attack事件包括任何InjureDie子类型未涵盖的事件,包括没有声明代理的事件。Attack事件类型包括不太具体的暴力相关名词,如“conflict”,“clashes”和“fighting”。 “Gunfire”具有事件和武器的特性,如果只是为了保持一致性,应该始终标记为Attack事件。“政变”是一种Attack(“战争”也是如此)。

    注意:对于Life类型(即InjureDie)和Conflict(即Attack)之间单个公共触发器的不明确的事件,我们将仅将事件注释为Life事件。当存在独立触发器时,此规则将不适用。

    例如:

    三名巴勒斯坦人被枪杀。

    有两个事件:

    Ev1:射击(Conflict. Attack

    Ev2:死亡(Life. Die

    注意:恐怖主义和恐怖活动将被称为Attack事件。但军事行动不会。

    注意:由Attack事件引起的损坏本身不能作为Attack事件被标记。

    ATTACK事件有三个参与者时隙(ATTACKER-ARG,TARGET-ARG和INSTRUMENT-ARG)和两个属性时隙(TIME-ARG和PLACE ARG)。

    决策规则:区分PLACE-ARG和TARGET-ARG

    对于Attack事件:

    1. GPE和LOCATION实体只能标记为PLACE-ARG。

    2. FACILITY或VEHICLE实体将始终标记为TARGETARG,除非:

    A.有关实体不是这种ATTACK事件的合理目标(例如,一个人不射击咖啡馆或刺伤建筑物);B.有一个更明确的目标,也是一些提及ATTACK事件的法律参与者(例如,如果枪手在她的梅赛德斯射击一名女性,她是一个比她的车更明确的目标)。

    注意:更明确的TARGET-ARG必须是有问题的ATTACK的合法参与者,所以如果咖啡馆爆炸杀死三个人,“三个人”只是DIE活动的参与者,而不是ATTACK活动本身,所以咖啡馆是仍然是攻击的目标。

    鉴于这些规则,一些例子如下。

    The bombing in Baghdad (Place)
    The bombing in the café (Target)
    In Baghdad (Place), the café (Target) was bombed
    The terrorists attacked the café (Target)
    The café (Place) stabbings
    Gunfire in the café (Place)
    The gunmen shot the businessman (Target) in the café (Place)
    The car (Target) exploded in the parking garage (Place)
    The parking garage (Target) explosion
    The car (Target) bomb
    The café (Target) bombing killed three people

     

    5.2 示威游行(Demonstrate)

    只要有许多人聚集在公共场所抗议或要求某种官方行动,就会发生Demonstrate事件。Demonstrate事件包括但不限于抗议,静坐,罢工和暴乱。

    Demonstrate事件有一个参与者位置(ENTITY-ARG)和两个属性槽(TIME-ARG和PLACE-ARG)。

    6 联系(Contact)

    6.1 会议(Meeting)

    Meeting是(两个人或两个人以上的)有目的的聚会,在那里人们互相交流,很明显,会议实际上位于某个地方。换句话说,必须知道会议是面对面的,以便它可以被标记。

    一个直接的结果是是以下内容不可标记:

    “通用汽车正在与克莱斯勒谈判购买吉普车。”

    目前尚不清楚这些会谈是否都是(面对面)会议,因此我们无法标记这个例子。

    注意:婚外情和长期的关系不计入Meet事件。

    Meet事件有一个参与者位置(ENTITY-ARG)和三个属性位置(TIME-ARG,PLACE-ARG和DURATION-ARG)

     

    6.2 Phone-Write

    当两个或两个以上的人直接参与讨论而不是面对面的时候,会发生Phone-Write事件。为了减少此类事件的开放性,我们将其限制为至少指定了两方的书面或电话通信中。 面对面的交流应该被认为是一次Meet事件。非常普通的PERSON告诉记者,这不是一个可标记的事件,也不是发表声明。Phone-Write活动必须是两方或多方之间的明确电话或书面通信。

    Phone-Write事件有一个参与者插槽(ENTITY-ARG)和一个属性插槽(TIME-ARG)

    7 Personnel

    所有Personnel事件都可以具有POSITION属性。在Personnel事件中填充POSITION-ARG槽的对象将是JOBTITLE类型的VALUE,它包含从事件范围内获取的字符串。

    例如,在:

    Mary Smith于1998年6月加入Foo Corp.担任首席执行官,

    事件的POSITION-ARG是由字符串CEO填充的JOB-TITLE值。

    7.1 起始位置(Start-Position)

    当个PERSON实体开始为组织、工厂或GPE内的办公室工作(或变更办公室)时,就会发生Start-Position事件。这包括政府官员开始他们的任期,无论是选举还是任命。

    注:一般而言,我们不会对就业方面的大规模经济趋势进行注解,例如创造就业机会。

    Start-Position事件有两个参与者位(PERSON-ARG和ENTITY-ARG)和三个属性位(POSITION-ARG,TIME-ARG和PLACE-ARG)。

    7.2 结束位置(End-Position)

    当PERSON实体停止为组织、工厂或GPE内的办公室工作(或变更办公室)时,就会发生End-Position事件。只有在事件范围内明确提到要离开的办公室时,才会对更改办公用例进行标记。这包括开始结束任期的政府官员,无论他们是当选还是任命的。

    注:虽然裁员将被标注为End-Position事件,但一般来说,我们不会标注就业方面的大规模经济趋势,例如失业。

    End-Position事件有两个参与者槽(PERSON-ARG和ENTITYARG)和三个属性槽(POSITION-ARG、TIME-ARG和PLACE-ARG)。

     

    7.3 提名(Nominate)

    当适当的人通过官方渠道建议某人参加Start-Position活动时,就会发生Nominate事件。

    Start-Position事件有两个参与者槽(PERSON-ARG和AGENT-ARG)和三个属性槽(POSITION-ARG、TIME-ARG和PLACE-ARG)

    7.4  选举(Elect)

    只要候选人赢得旨在确定Start-Position事件的PERSON参数的选举,就会发生Elect事件。(注意:赢得选举的政党不是可以标记的事件。)

    Elect事件有两个参与者槽(PERSON-ARG和AGENT-ARG)和三个属性槽(POSITION-ARG、TIME-ARG和PLACE-ARG)。

     

    8 司法(Justice)

    许多Justice事件都可以具有CRIME-ARG属性。与Personnel事件中的POSITION-ARG一样,这些参数槽将由值填充。

    请注意,一些Justice事件子类型似乎允许非国家(政府外)组织采取行动。例如,可以想象一些准军事组织或恐怖组织将人质释放标记为Justice.Release事件。 正如包含类型的名称所暗示的那样,这是不允许的。我们只会将那些可能与某些可标记GPE实体的法律系统相关联的事件标注为Justice事件。

    8.1 逮捕监狱(Arrest-Jail)

    只要PERSON的移动受到国家参与者(GPE、其组织子部门或其PERSON代表)的约束,就会发生Jail事件。

    只要国家行为人(GPE,组织子部门或PERSON代表)为评估犯罪活动中的法律责任而对PERSON实体进行正式监护,就会发生Arrest事件。Arrest-Jail事件可以由文本中的字符串填充CRIME-ARG属性。例如:

    斯科特彼得森因谋杀妻子而被捕。

    在上面的示例中,CRIME-ARG是由字符串murder填充的CRIME值。

    注意:Serving a sentence将被注释为Arrest-Jail事件。

    Arrest-Jail事件有两个参与者槽(PERSON-ARG和AGENT-ARG)和三个属性槽(CRIME-ARG、TIME-ARG和PLACEARG)。

     

     

    8.2 释放-假释(Release-Parole)

    只要状态参与者(GPE,ORGANIZATION子部分或PERSON代表)结束其对PERSON实体的托管,就会发生Release事件。这可能是因为句子已经结束;因为指控被撤销了;或者因为假释被批准了。

    Release-Parole事件有两个参与者槽(PERSON-ARG和ENTITY-ARG)和三个属性槽(CRIME-ARG、TIME-ARG和PLACEARG)。

    8.3 审判听证(Trial-Hearing)

    为确定被控犯罪的人,组织或GPE的有罪或无罪而启动法院诉讼,就会发生Trial事件。

    只要国家行为者(GPE,组织子部门或PERSON代表)正式收集讨论某些刑事法律问题,就会发生Hearing事件。

    Trial-Hearing事件可以具有由文本中的字符串填充CRIME属性。重要的是,PROSECUTOR-ARG必须是国家行为者(GPE,组织子部门或代表他们的PERSON)。

    Try事件有三个参与者位置(DEFENDANT-ARG,PROSECUTORARG和ADJUDICATOR-ARG)和三个属性位置(CRIME-ARG,TIMEARG和PLACE-ARG)

     

     

    8.4 指控(Charge-Indict)

    PERSON,ORGANIZATION或GPE被国家行为人(GPE,GPE的组织子部门或代表GPE的PERSON)指控犯罪,就会发生Charge事件。

    只要国家行为者(GPE,GPE的ORG子部分或GPE的PERSON代理人)对指控采取正式法律行动后,就会发生Indict事件。

    Charge-Indict事件可以具有由文本中的字符串填充的CRIME-ARG属性。

    Charge-Indict事件有三个参与者位置(DEFENDANT-ARG,PROSECUTOR-ARG和ADJUDICATOR-ARG)和三个属性位置(CRIME-ARG,TIME-ARG和PLACE-ARG)。

     

     

    8.5 起诉(Sue)

    确定被控犯罪或不履行承诺的个人、组织或团体的责任而提起的法院诉讼,就会发生Sue事件。它可以具有由文本中的字符串填充的CRIME属性。 PLAINTIFF-ARG是国家行为者(GPE,组织子部门或代表他们的PERSON)并不重要。

    Sue事件有三个参与者位置(PLAINTIFF-ARG,DEFENDANT-ARG和ADJUDICATOR-ARG)和三个属性位置(CRIME-ARG,TIME-ARG和PLACE-ARG)。

    8.6 定罪(Convict)

    当审判活动以对DEFENDANT-ARG的起诉成功告终时,就会发生Convict事件。换句话说,当一个人、组织或GPE实体被发现犯罪时,他就会被定罪。它可以具有由文本中的字符串填充的CRIME属性。 Convict活动还将包括认罪。

    Convict事件有两个参与者槽(DEFENDANT-ARG和ADJUDICATOR-ARG)和三个属性槽(CRIME-ARG,TIME-ARG和PLACE-ARG)。

     

    8.7 判决(Sentence)

    每当TRY事件的DEFENDANT-ARG的惩罚(特别是监禁)由州行为人(GPE,组织子部门或代表他们的人)发出时,就会发生Sentence事件。它可以具有由CRIME值填充的CRIME-ARG属性和由SENTENCE值填充的SENTENCEARG属性。

    Sentence事件有两个参与者槽(DEFENDANT-ARG和ADJUDICATOR-ARG)和四个属性槽(CRIME-ARG,TIME-ARG PLACEARG和SENTENCE-ARG)。

     

    8.8 罚款(Fine)

    只要国家行为人向GPE,PERSON或组织实体发出经济处罚,通常由于法院诉讼,就会发生Fine事件。它可以具有由文本中的字符串填充的CRIME属性。

    请注意,(双方之间的)结算将不会被标注为Fine事件,而是标注为Transfer-Money事件。 即使结算是由其他一些Justice事件(例如Sue事件)引起的,也是如此。

    Fine事件有三个参数槽(ENTITY-ARG,ADJUDICATOR-ARG和MONEY-ARG)和三个属性槽(CRIME-ARG,TIME-ARG和PLACE-ARG)。

    8.9 执行(Execute)

    只要状态参与者(GPE,其组织子部分或PERSON代表)占用PERSON的生命周期时,就会发生Execute事件。它可以具有由文本中的字符串填充的CRIME属性。

     

    8.10 引渡(Extradite)

    每当国家行为者将PERSON从一个地方(通常是与国家行为者相关的GPE,但有时是其控制下的设施)引渡到另一个地方(LOCATION,GPE或FACILITY)以进行法律诉讼时,就会发生Extradite事件。

    8.11 无罪释放(Acquit)

    每当TRY事件结束但未能产生Convict事件时,就会发生Acquit事件。这将包括PROSECUTOR-ARG撤销指控的情况。

    Acquit事件有两个参与者槽(DEFENDANT-ARG和ADJUDICATOR-ARG)和三个属性槽(CRIME-ARG,TIME-ARG和PLACE-ARG)。

    8.12 赦免(Pardon)

    每当国家元首或其指定的代表取消司法机关的判决时,就会发生Pardon事件。

    Pardon活动有两个参与者位置(DEFENDANT-ARG和ADJUDICATOR-ARG)和三个属性位置(CRIME-ARG,TIME-ARG和PLACE-ARG)。

    8.13 上诉(Appeal)

    只要法院的决定被提交上级法院审查,就会发生Appeal事件。

    Appeal事件有三个参与者位置(DEFENDANT-ARG,PROSECUTOR-ARG和ADJUDICATOR-ARG)和三个属性位(CRIME-ARG,TIME-ARG和PLACE-ARG)。

    展开全文
  •  2) 常见的事件类型有ActionEvent、WindowEvent、TextEvent(文本框中产生的事件,比如正在输入文字等)、MouseEvent(鼠标事件)等;  3) AWT都分别为各种事件类型准备了监听器接口:ActionListener、W

    1. 不同类型事件对应不同类型的监听器接口:

        1) 总的来说就是实现了该种类型的接口,就能监听并处理该种类型的事件;

        2) 常见的事件类型有ActionEvent、WindowEvent、TextEvent(文本框中产生的事件,比如正在输入文字等)、MouseEvent(鼠标事件)等;

        3) AWT都分别为各种事件类型准备了监听器接口:ActionListener、WindowListener、TextListener等,可以发现命名规律就是XxxEvent对应XxxListener接口;

        4) 除了MouseEvent之外,MouseEvent对应了两种监听器接口,一个是普通的MouseListener(监听并处理普通的鼠标事件,如点击、松开等),但是鼠标是一种特殊的输入设备,还具有拖动的效果,因此针对这种事件AWT还专门准备了MouseMotionListener接口专门用来监听这种事件;

    !!因此对于MouseEvent事件比较特殊,普通鼠标事件和鼠标拖动事件都属于MouseEvent这一种类别,但是实际上系统会把这两种动作的事件发送给不同的监听器,一种是MouseListener监听器,一种是MouseMotionListener监听器,实际编程时要注意,不要以为还有一种MouseMotionEvent的事件!!


    2. 监听器接口的方法:

        1) 每种监听器接口对应了一种类型的事件,比如ActionListener接口就代表了动作事件这一类事件,但接口中定义的每种方法分别用来处理该种类型事件的一小类;

        2) 比如WindowListener接口中定义了7个方法,分别对应了窗口类型事件的7种事件,比如窗口打开、缩小、关闭等,监听器会根据具体发生的事件来调用对应的方法来处理,这个过程是自动的,当事件发生时并不是用户调用这些方法处理,而是“监听器”自动调用;

    !!其实也不是监听器自己调用的,而是虚拟机(Java操作系统)调用的,即用户写的方法由操作系统来调用,这就是典型的回调函数,将用户的方法作为参数传入操作系统提供的系统函数来执行,即操作系统的0级代码调用用户写的3级代码,就是这种关系;

    !!只不过Java没有函数的概念,全部都包装成面向对象的类了;

        3) 既然要实现监听器接口,那就必须实现里面的全部方法,比如WindowListener里面的全部7个方法,一个都不能少(否则编译报错),但有些接口,比如ActionListener只有一个方法,那该接口就是一种函数式接口,可以使用Lambda表达式进行函数闭包;

    !!虽然ActionListener只有一个方法,但并不代表ActionEvent就只有一种事件,其实有很多,按钮单击、菜单项单击等等,只不过具体发生的是什么事件需要在方法体中判断了;


    3. ActionListener:

        1) 只有一个方法来处理所有的ActionEvent事件:public void actionPerformed(ActionEvent e);

        2) Java的Event类型的继承结构是EventObject -> AWTEvent -> 各种Event(ActionEvent、WindowEvent等);

        3) 常用方法:public String ActionEvent.getActionCommand(); // 获取触发ActionEvent的组件的命令名(比如对于按钮就返回按钮上的文本)


    4. WindowListener示例:

        1) 监听器可以同时监听多个组件就意味着监听器也可以实现多种Listener接口,同时监听多个、不同类型事件的组件;

        2) 该示例中的监听器同时实现两种接口,一个ActionListener另一个WindowListener,并真正意义上实现程序可关闭;

        3) 其实只要调用System.exit(0)就可以实现正常关闭;

        4) 示例:

    public class AwtTest {
    
    	Frame f = new Frame("WindowEvent Test");
    	TextArea ta = new TextArea(6, 40);
    	Button btn = new Button("button");
    
    	class Listener implements ActionListener, WindowListener {
    
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			// TODO Auto-generated method stub
    			ta.append("Button pushed!\n");
    		}
    
    		@Override
    		public void windowOpened(WindowEvent e) { // 打开
    			// TODO Auto-generated method stub
    			ta.append("Window opened!\n");
    		}
    
    		@Override
    		public void windowClosing(WindowEvent e) { // 正在关闭
    			// TODO Auto-generated method stub
    			ta.append("Window closing!\n");
    			System.exit(0);
    		}
    
    		@Override
    		public void windowClosed(WindowEvent e) { // 已关闭
    			// TODO Auto-generated method stub
    			ta.append("Window closed!\n");
    		}
    
    		@Override
    		public void windowIconified(WindowEvent e) { // 最小化
    			// TODO Auto-generated method stub
    			ta.append("Window iconified!\n");
    		}
    
    		@Override
    		public void windowDeiconified(WindowEvent e) { // 恢复
    			// TODO Auto-generated method stub
    			ta.append("Window deiconified!\n");
    		}
    
    		@Override
    		public void windowActivated(WindowEvent e) { // 得到焦点
    			// TODO Auto-generated method stub
    			ta.append("Window activated!\n");
    		}
    
    		@Override
    		public void windowDeactivated(WindowEvent e) { // 失去焦点
    			// TODO Auto-generated method stub
    			ta.append("Window deactivated!\n");
    		}
    
    	}
    
    
    	public void init() {
    		f.add(ta);
    		f.add(btn, BorderLayout.SOUTH);
    		
    		Listener l = new Listener();
    		f.addWindowListener(l);
    		btn.addActionListener(l);
    		
    		f.pack();
    		f.setVisible(true);
    	}
    
    	public static void main(String[] args) {
    
    		new AwtTest().init();
    	}
    
    }

    !当System.exit的退出码为0时表示程序正常退出;

    !!通常不建议一个监听器实现多个Listener接口,因为这不符合科学的设计模式,还是分工分模块为好,尽量减弱软件的模块耦合度;


    5. 事件适配器:

        1) 由于要实现Listener接口就必须实现其中的全部方法,但大多数情况下并不需要实现全部方法而只想实现感兴趣的那几个方法,但即使其他方法不感兴趣也不得不加上那几个方法的空方法体,显得非常多此一举;

        2) 因此AWT还提供了事件适配器,它就是一个类,只不过实现了对应的监听器接口,并为每个方法提供过了一个空的方法体,因此要实现监听器功能的时候就没必要直接实现对应的接口了,只要继承相应的适配器,然后选择你感兴趣的方法实现就行了,不需要实现接口中的所有方法;

        3) 接口和适配器命名的规则:XxxListener对应XxxAdapter

        4) 示例:只需要实现感兴趣的方法就行哦!

    public class AwtTest {
    
    	Frame f = new Frame("WindowAdapter Test");
    
    	class Listener extends WindowAdapter {
    
    		@Override
    		public void windowClosing(WindowEvent e) {
    			// TODO Auto-generated method stub
    			// super.windowClosing(e);
    			System.exit(0);
    		}
    
    	}
    
    	public void init() {
    		f.addWindowListener(new Listener());
    		f.pack();
    		f.setVisible(true);
    	}
    
    	public static void main(String[] args) {
    
    		new AwtTest().init();
    	}
    
    }


    展开全文
  • jQuery阻止同类型事件

    千次阅读 2013-04-19 11:37:09
    以上的方法只能阻止事件冒泡(也就是父级元素的同类型事件),但不能阻止事件追加(同一元素的同类型事件)。 $(function(){ $("#green").click(function(event){ event.stopImmediatePropagation(); ...
    <!DOCTYPE HTML>
    <html>
    <head>
    <title>test</title>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    </head>
    <body>
    <div style="height:300px;background-color:red;" id="red">
    	<div style="height:200px;background-color:green;" id="green">
    	</div>
    </div>
    </body>
    </html>

    在上面的HTML中,red元素是green元素的父元素。


    $(function(){
    	$("#green").click(function(event){
    		alert("green click1");
    	});
    	$("#green").click(function(event){
    		alert("green click2");
    	});
    	$("#red").click(function(event){
    		alert("red click");
    	});
    });

    上面的js代码给red元素和green元素添加了三个click事件。


    当点击子元素green元素时,会依次执行green click1、green click2、red click事件。


    事件追加:点击green元素会依次执行green click1、green click2两个事件(同一元素的同类型事件)。 

    事件冒泡:点击green元素会触发父元素的red click事件(父级元素的同类型事件)。


    1、 在子元素事件函数中阻止事件冒泡

    方法1:event.stopPropagation()

    $(function(){
    	$("#green").click(function(event){
    		event.stopPropagation();
    		alert("green click");
    	});
    	$("#red").click(function(event){
    		alert("red click");
    	});
    });

    方法2:return false

    $(function(){
    	$("#green").click(function(event){
    		alert("green click");
    		return false;
    	});
    	$("#red").click(function(event){
    		alert("red click");
    	});
    });

    通过上面的两种方法,点击子元素green区域后,red click事件被阻止不再执行。但不会影响red元素其他区域的点击。

     

    二者区别:

    return false相当于event.preventDefault()+event.stopPropagation()。


    2、 在父元素事件函数中阻止事件冒泡

    $(function(){
    	$("#green").click(function(event){
    		alert("green click");
    	});
    	$("#red").click(function(event){
    		if(event.target == this)
    		{
    			alert("red click");
    		}
    	});
    });

    通过if(event.target== this)判断点击的目标元素是不是red元素本身,如果不是red本身而是它的子元素green元素,则不会执行if内的代码。


    3、 阻止事件追加

    以上的方法只能阻止事件冒泡(也就是父级元素的同类型事件),但不能阻止事件追加(同一元素的同类型事件)。

    $(function(){
    	$("#green").click(function(event){
    		event.stopImmediatePropagation();
    		alert("green click");
    	});
    	$("#green").click(function(){
    		alert("green click2");
    	});
    });


    event.stopImmediatePropagation()不但可以阻止green click2事件,同时也阻止事件冒泡


    作者:叉叉哥   转载请注明出处:http://blog.csdn.net/xiao__gui/article/details/8823182



    展开全文
  •  //存放其他事件类型 unsigned long ledbit[NBITS(LED_MAX)];              //存放表示各种状态的LED值 unsigned long sndbit[NBITS(SND_MAX)];              //存放各种事件的声音 unsigned long ...
  • Esper学习之二:事件类型

    万次阅读 热门讨论 2013-08-18 18:35:32
    上周我们介绍了Esper,它是一个适合实时分析数据的内存...不过这篇文章就先来介绍一下Esper能处理的数据结构,即“事件”。 Esper对事件有特殊的数据结构约定。能处理的事件结构有:POJO,java.util.Map,Object Arra
  • //相关元素在事件处理元素外层,说明不是冒泡, //进入循环后,逐渐将相关元素移至外层,为null,不符和相关元素reltg为true,退出循环,返回true。 //相关元素在事件处理程序内层,说明已经冒泡两层以上。 //...
  • 对于一个简单的GUI程序设计来说,我觉得无非就是三个要素,widget(部件),layout(布局),event(事件的响应) 个人感觉,GUI就和搭积木差不多,widget就好比是各种形状的积木,比如长方形,正方形,三角形等等...
  • 如下为onclick 事件,点击触发startTask 方法,其中有两个参数,task 和 type,如果我这里的task是对象类型的,会导致startTask(task,type)方法接收到的task为[object Object],不能拿到数据。 结论:HTML5...
  • PyCharm社区版测试可用。可能专业版调用的后端不是Qt,某些不能用。
  • JavaScript DOM事件事件捕获事件冒泡

    千次阅读 2020-09-08 09:31:17
    事件 在讲事件流之前,我们先来了解一下事件。 JavaScript与HTML之间的交互是通过事件来实现的。事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间。我们可以使用侦听器(或事件处理程序)来预订事件,以便...
  • JavaScript事件

    万次阅读 2014-12-30 10:18:49
    事件基础 JavaScript事件,又称DOM事件,指用户对DOM节点进行各种操作时,能触发相应的处理函数。...事件类型,大类可以分为鼠标事件、键盘事件、窗口事件、表单事件等,细分可以分为鼠标悬浮、鼠标移动、鼠标点击、
  • bpmn事件

    万次阅读 2020-07-06 13:27:10
    本文章主要讲解bpmn事件,系列文章包含工作流、工作流系统、工作流引擎的相关讲解,涉及的到Camunda BPM、BPMN规范、activit的基础性知识,对于流程自动化、业务流程等进行了深入研究探讨。
  • javascript 事件委托,javascript事件,jQuery事件委托
  • iOS开发 - 响应者链触摸事件

    千次阅读 2015-04-23 14:25:53
    触摸事件在用户使用app过程中,会产生各种各样的事件iOS中的事件可以分为3大类型触摸事件: 加速计事件: 远程控制事件:响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理...
  • touchesBegan 触摸事件

    千次阅读 2018-06-15 15:29:42
    一、概念介绍1、在用户使用App过程中,会产生各种各样的事件,iOS中的事件可以分为3大类型:1)触摸事件2)加速计事件3)远程操控事件响应者对象UIResponder 在iOS中不是任何对象都能处理事件,只有继承了...
  • iOS之深入解析事件传递的响应链

    万次阅读 2021-08-30 20:44:37
    CALayer 继承自 NSObject,不是 UIResponder 的子类,无法处理事件。 响应者接收到原始事件数据,必须处理事件或者转发到另一个响应者对象。当 App 接收到一个事件时,UIKit 自动引导事件到最合适的响应者对象,也...
  • DOM事件大全

    千次阅读 2017-08-21 15:27:54
    IE::事件冒泡流,事件冒泡,事件从最具体的元素接收,然后逐级向上传播,主流浏览器都支持 Netscape:事件捕获流,从最不具体的节点向下逐级传播到最具体的节点 Explorer浏览器只支持冒泡事件,Mozilla,Opera7和...
  • JavaScript 事件模型 事件处理机制

    万次阅读 多人点赞 2013-08-21 21:10:38
    当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了。事件可能是用户在某些内容上的点击、鼠标经过某个特定元素或按下键盘上的某些按键。事件还可能是 Web 浏览器中发生的事情,比如说某
  • 在前面的文章:Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程 一文中已经提过事件在分发前要做拦截的事情,只不过当时没有展开来分析,因此这篇文章的主要目的就是分析事件在分发前的...
  • 浅谈JavaScript模拟事件和自定义事件

    千次阅读 2017-03-24 23:02:53
    可以在document对象上使用createEvent()方法创建event对象,此方法接收一个参数,即要创建的事件类型的字符串。在DOM2级中这些字符串都使用英文复数形式,而在DOM3级中都变成了单数。这个字符串可以是以下几个字符串...
  • MySQL数据类型详解

    万次阅读 多人点赞 2018-08-13 16:40:22
    上一篇博客中我们学习了MySQL的基础知识以及表结构的相关操作,知道了MySQL中常用的数据类型有数值型、字符串型、日期时间类型 下面我们来使用一下这些数据类型。 数值类型 首先数值类型分为整型和浮点型 我们...
  • C#数据类型

    千次阅读 多人点赞 2012-04-23 19:11:16
    C#的数据类型可以分为3类:数值类型,引用类型,指针类型。指针类型仅在不安全代码中使用。  值类型包括简单类型(如字符型,浮点型和整数型等),集合类型和结构型。引用类型包括类类型,接口类型,代表类型和数组...
  • 解析Javascript事件冒泡机制

    万次阅读 多人点赞 2014-04-18 12:45:22
    1.事件 2.冒泡
  • chinese compound event extraction,中文复合事件抽取,包括条件事件、因果事件、顺承事件、反转事件事件抽取,并形成事理图谱。 项目地址:https://github.com/liuhuanyong/ComplexEventExtraction 关于项目 ...
  • labview动态注册事件

    万次阅读 2015-01-14 16:19:14
    动态事件注册可完全控制LABVIEW产生的事件类型和时间。动态事件可使事件仅在应用程序的某个部分发生,也可在应用程序运行时改变产生事件的VI或控件。使用动态注册,可在子VI中处理事件不是仅在产生事件的VI中...
  • 事件委托

    千次阅读 2018-10-07 19:19:31
    它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子...
  • JavaScript 事件

    千次阅读 2016-04-26 17:13:07
    1.1事件介绍事件一般是用于浏览器和用户操作进行交互。最早是 IE 和 Netscape Navigator 中出现 ,作为分担服务器端运算负载的一种手段。 直到几乎所有的浏览器都支持事件处理。 而 DOM2级规范开始尝试以一种复合...
  • Android Touch事件分发过程

    万次阅读 多人点赞 2014-08-31 13:38:48
    Android Touch 事件分发过程深度分析
  • addEventListener注册事件事件监听)

    千次阅读 2017-09-24 00:54:49
    bth.on事件 = function{ }; 如果重复注册相同的事件,后面的事件会把前面的事件覆盖掉。 例子: 输入一下代码,点击事件,控制台输出 document.onclick = function () { console.log("厉害"); } document.onclick =...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 599,717
精华内容 239,886
关键字:

哪个不是事件的类型