最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to add an "onblur" handler to a textbox using Greasemonkey? - Stack Overflow

programmeradmin6浏览0评论

I have this code which works fine in a test page...

Javascript:

function myFunction() {
    var x = document.getElementById("tarea"),
        nameInput = document.getElementById('name'),
        classInput = document.getElementById('class');

    var lines = x.value.split('\n');
    var name = lines[0].substring(5);
    var grade = lines[1].substring(6);

    nameInput.value = name;
    classInput.value = grade;
}

HTML:

<textarea rows="4" cols="50" id="tarea" onblur="myFunction()"></textarea>

Now I want to add the onblur functionality to a preexisting page using Greasemonkey.

But, I don't know how can I use the onblur Javascript event in Greasemonkey. I've searched but couldn't find any example of Greasemonkey using onblur.

I have this code which works fine in a test page...

Javascript:

function myFunction() {
    var x = document.getElementById("tarea"),
        nameInput = document.getElementById('name'),
        classInput = document.getElementById('class');

    var lines = x.value.split('\n');
    var name = lines[0].substring(5);
    var grade = lines[1].substring(6);

    nameInput.value = name;
    classInput.value = grade;
}

HTML:

<textarea rows="4" cols="50" id="tarea" onblur="myFunction()"></textarea>

Now I want to add the onblur functionality to a preexisting page using Greasemonkey.

But, I don't know how can I use the onblur Javascript event in Greasemonkey. I've searched but couldn't find any example of Greasemonkey using onblur.

Share Improve this question edited Dec 15, 2020 at 10:55 Brian Tompsett - 汤莱恩 5,89372 gold badges61 silver badges133 bronze badges asked Dec 19, 2012 at 6:26 Irfan HarunIrfan Harun 1,0695 gold badges20 silver badges40 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 4

Use addEventListener() (plain javascript) or jQuery's .on() (more robust approach).

Plain JS:

// ==UserScript==
// @name     _YOUR_SCRIPT_NAME
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/

var targInput = document.getElementById ("tarea");
targInput.addEventListener ("blur", myFunction, false);

function myFunction () {
    ... ...
}


jQuery (remended), note the @require:

// ==UserScript==
// @name     _YOUR_SCRIPT_NAME
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @require  http://ajax.googleapis./ajax/libs/jquery/1.7.2/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/

$(document).on ("blur", "#tarea", myFunction);

function myFunction () {
    ... ...
}
发布评论

评论列表(0)

  1. 暂无评论