onmouseover更改功能名称?

时间:2019-05-10 01:15:25

标签: javascript function scriptaculous

使用onmouseover时是否可以更改JavaScript中的函数名称?

在HTML DOM中,我们有类似以下内容:

#include <jni.h> class A { public: A(JNIEnv * env, jobject obj) : env(env) { globalRef = env->NewGlobalRef(obj); env->DeleteLocalRef(obj); } A(const A & a) : env(a.env) { // a global reference points to a global reference ? // or two global references point to an object ? globalRef = env->NewGlobalRef(a.globalRef); } ~A() { env->DeleteGlobalRef(globalRef); globalRef = nullptr; } private: JNIEnv * env; jobject globalRef; }; // main entry JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM * jvm, void * reserved) { JNIEnv *env; if (jvm->GetEnv((void**)&env, JNI_VERSION_1_4) != JNI_OK) return JNI_ERR; A a1(env, env->NewStringUTF("somthing")); A a2(a1); a1.~A(); // Can I continue to use 'a2' after 'a1' is destroyed ? return JNI_VERSION_1_4; }

在JavaScript中:

<img class="..." src="..." alt="..." onclick="click1()"> onmouseover="changeFunction()">

function changeFunction() {....}

我要触发的事件是这样的:

当鼠标悬停在图像上时,这将触发“ onmouseover”功能,该功能会更改“ onclick函数名称”,从而将名称从“ function click1(){...}”更改为“ function click2( ){...}。

function onclick1() {...}

*hovers over image* and triggers the Name change

这仍将保留其中的其他代码。它所做的只是更改函数的名称。

1 个答案:

答案 0 :(得分:0)

这应该做您想要的:

<script>
  function click1() {
    console.log('click 1');
  }
  function click2() {
    console.log('click 2');
  }
  function changeFunction(element) {
    element.onclick = click2;
  }
</script>

<img src="https://via.placeholder.com/350x65" onclick="click1()" onmouseover="changeFunction(this)">

将鼠标悬停在图像上时,它将onclick函数从click1更改为click2