当事件处理函数接受参数时停止事件传播

发布于 2024-10-15 14:01:53 字数 287 浏览 3 评论 0原文

假设您

<tr onclick="viewJob(11)"> 
   <td>Job Id: 11</td>
   <td><input type="button" onclick="cancelJob(11)"/></td>
</tr>

单击 TD 中的按钮时,我想避免在 TR 上执行 viewJob() 。我已经了解了如何使用 cancelJob(e) 执行此操作,但是当您有函数参数时如何执行此操作?

say you have

<tr onclick="viewJob(11)"> 
   <td>Job Id: 11</td>
   <td><input type="button" onclick="cancelJob(11)"/></td>
</tr>

When clicking the button in the TD, I want to avoid executing viewJob() on the TR. I've seen how to do this with cancelJob(e), but how do you do this when you have function parameters?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

万水千山粽是情ミ 2024-10-22 14:01:53

您的操作方式可能会导致没有 JavaScript 的用户以及使用屏幕阅读器的用户无法访问这些内容。

我建议在每个元素内放置一个标签。

否则,将 onclick 放在元素上

问题就解决了。

The way you are doing things can make things inaccessible to users without javascript, and those with screen readers.

I would recommend just putting in an tag inside each element.

Otherwise, put the onclick on the element

Problem solved.

作业与我同在 2024-10-22 14:01:53

传入事件对象后,不能只在调用中传递函数参数吗?

所以:

cancelJob(e, 11);

那么你的 js 函数将是:

function cancelJob(evt, jobId)
{
}

我认为这可以正常工作。

虽然你应该考虑将 js 与 html 分开,但这是一个不同的问题。

Can't you just pass the function parameters in the call after you pass in the event object?

So:

cancelJob(e, 11);

Then your js function would be:

function cancelJob(evt, jobId)
{
}

I would think this would work fine.

Though you should consider separating the js from the html but that is for a different question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文