knockout -如何获取按钮's文本值

knockout - how to get a button's Text value?

本文关键字:文本 按钮 何获取 获取 knockout      更新时间:2023-09-26

我想知道我是否可以避免编写单独的函数来处理单独的按钮单击。如果我可以读取被点击按钮的Text值,那么我就可以使用一个名为"showName"的函数,并使用一个switch语句来处理每个按钮的点击。

这可能吗?

<body>
    <button data-bind="click: showName">Show Name</button>
    <button data-bind="click: showName">Show Lists</button>
</body>

我尝试了下面的各种方法。如果单击第一个按钮,我想获得值"显示名称"。但这些都不起作用。

function TutorialsViewModel(){
    this.showName = function(e){           
        console.log(e);
        console.log(e.target);
        console.log(e.target.value);
    };   
}
ko.applyBindings(new TutorialsViewModel());

e.target.innerText代替e.target.value

这是一个工作演示: http://jsfiddle.net/e8JPT/315/

<body>
    <button id="btn1" data-bind="click: log">Show Name</button>
    <button id="btn2" data-bind="click: log">Show Lists</button>
</body>
Javascript

var TutorialsViewModel=function(){
    this.log = function(data, event){           
        alert("You clicked on : " +event.target.innerText);
    };   
}
ko.applyBindings(new TutorialsViewModel());

希望这对你有帮助!

以stackoverflow为例,您可以使用getElementsByName getElementsByClassNamegetElementsById函数从页面中检索任何元素,并访问它的所有属性。name, value, innerHTML

从任何浏览器的控制台StackOverflow的例子(F12打开):

var button = document.getElementById("submit-button"); 
//this only works if the button has id="submit-button"
button.value;
// output : "Text in button"